![Linux - 发出命令时出现语法错误](https://linux22.com/image/1453875/Linux%20-%20%E5%8F%91%E5%87%BA%E5%91%BD%E4%BB%A4%E6%97%B6%E5%87%BA%E7%8E%B0%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF.png)
在 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