Настройка файла rsync --пароль -не работает

основная проблема выглядит такif [ $(pidof "$package") ]

вот что делает команда:

  • решить "$package", предположитьfoo
  • запустить pidof fooи оставить вывод пустым или «бла»
  • проверить этот выход :либо [ "blah" ], либо[ ]

Возможно, это не то, что вам нужно.

(Вы путаете вывод команды и код возврата)

вы хотите либо (, если pidofимеет код возврата true, когда пакет найден)

if pidof "$package"

или (, если pidofвозвращает положительное целое число, когда пакет найден, и 0, если нет)

if [ $(pidof "$package") != 0 ]

или (, если pidofничего не возвращает, когда результат не найден, согласно вашей трассировке)

if [ -n "$(pidof "$package")" ]
then (.. found..)
else (.. not found... )
fi

То же самое касаетсяwhile

для примечания, touchпосле breakне будет работать.

0
30.10.2020, 14:10
0 ответов

Теги

Похожие вопросы