Linux - 发出命令时出现语法错误

Linux - 发出命令时出现语法错误

在 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

相关内容