4

Я получаю синтаксическую ошибку при использовании следующего условия if в скрипте bash.

if [ -f $pid_file ] && [ $check_run_proc == *"my_proc"* ] && kill -0 $(cat "$pid_file"); then

Можете ли вы определить, в чем проблема?

Спасибо.

1 ответ1

3

Вам необходимо использовать специальное слово [[ bash ] и оператор =~ для соответствия регулярным выражениям. Что if -clause должен сделать это:

if [ -f "$pid_file" ] && [[ "$check_run_proc" =~ "my_proc" ]] && 
   kill -0 $(cat "$pid_file"); then

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .