Я получаю синтаксическую ошибку при использовании следующего условия if в скрипте bash.
if [ -f $pid_file ] && [ $check_run_proc == *"my_proc"* ] && kill -0 $(cat "$pid_file"); then
Можете ли вы определить, в чем проблема?
Спасибо.
Вам необходимо использовать специальное слово [[
bash ] и оператор =~
для соответствия регулярным выражениям. Что if
-clause должен сделать это:
if [ -f "$pid_file" ] && [[ "$check_run_proc" =~ "my_proc" ]] &&
kill -0 $(cat "$pid_file"); then