我想准备一个 shell 脚本,如果我的所有命令都成功,它将执行我的所有命令,然后它会打印“SUCCESS”,任何一个命令失败,然后打印“FAILED”。
我的 shell 脚本命令:
cd /home/lin
mkdir logs
cp /tmp/filelog.log logs/
rm /tmp/log*
touch /tmp/log
保存此文件 test.sh
这是我的查询,
在执行此命令时,如果我的任何一个命令失败,那么它应该停止执行并打印“失败”
否则打印“成功”
最佳答案
因为每个命令都依赖于它的前身,所以这是 set -e
的完美用例。在子shell中执行所有工作,您只需检查子shell的结果。
set -e
将在遇到第一个错误时退出当前 shell。
(即,返回非零退出状态时。)
(set -e
cd /home/lin
mkdir logs
cp /tmp/filelog.log logs/
rm /tmp/log*
touch /tmp/log
) && echo "SUCCESS" || echo "FAILED"
关于linux - Shell - 在 IF else 中运行一堆命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46011928/