在 Bash 脚本中使用以下 if 条件时出现语法错误。
if [ -f $pid_file ] && [ $check_run_proc == *"my_proc"* ] && kill -0 $(cat "$pid_file"); then
您能确定问题是什么吗?
谢谢。
答案1
您需要使用 bash 的[[
特殊词和=~
运算符来匹配正则表达式。if
-clause 应该可以做到这一点:
if [ -f "$pid_file" ] && [[ "$check_run_proc" =~ "my_proc" ]] &&
kill -0 $(cat "$pid_file"); then