如何根据命令的输出执行脚本

如何根据命令的输出执行脚本

我正在尝试设置一个 cron 作业,该作业将使在 centos 服务器中的特定端口上运行的进程保持活动状态。

根据之前的讨论,我提出了以下脚本,该脚本将由 cron 作业调用:

#!/bin/bash
opt="$(lsof -i tcp:9090| awk 'NR!=1 {print $2}')"
echo $opt
if [ -z "$opt" ]
then
    # nohup npm start & 1>/dev/null 2>/dev/null &
    echo "App Restarted" | mail -s "App is restarted"  "myemail"
fi

无论变量输出中的值如何,都会触发此操作,不确定这里出了什么问题。

答案1

#assign output of a command to a variable
output="$(command)"

#test variable to see if empty
if [ -z "$output" ]
then
   #do something
   a_command
fi

相关内容