我正在运行一个shell脚本 run_sftp.sh 其输出将“完成”或“失败” 我将这个脚本调用到另一个脚本中,如果 run_sftp.sh 输出“完成”,它将执行一些命令
If [ Output(run_sftp.sh) = 'done' ] then
echo "run"
else
"Stop running"
fi
这是算法。请建议。
答案 0 :(得分:4)
retval=$(path/to/run_sftp.sh)
现在你已经在var retval
中完成/失败了。如果检查你的逻辑,你可以做你的。
答案 1 :(得分:1)
您可以使用$()或反向<< / p>来捕获输出
所以:
如果[$(run_sftp.sh)='完成'] 然后
等
答案 2 :(得分:1)
我假设您的脚本run_sftp.sh将调用其他语句并仅在成功时生成完成消息,并且run_sftp.sh调用的其他命令都不会生成完成消息。 在这种情况下,您捕获脚本运行的输出,然后grep完成
MSG=$(run_sftp.sh)
echo $MSG | grep 'done'
if [ $? -eq 0 ]
then
echo "run"
else
exit 9
fi
由于