xxjob 执行结果显示成功但是没有停止_LINUX SHELL同时执行多条命令总结

LINUX SHELL同时执行多个命令

7ac80521877c33921b0ae5af4cd47adb.png

在shell中,我们经常会同时执行多条命令,多条命令之间通常有以下四种分隔符:

;  (封号)
&&
|| (或)
|  (管道)

便于实验,创建以下两个文件

#cat a.txt
测试文件1
测试文件2

#cat test.py
print("Hello Python3")

1.用 ;(封号) 分隔的多条命令

说明:所有命令都会执行,相当于每条命令独立执行,互不影响。实验:

# cat a.txt;python3 test.py
测试文件1
测试文件2
Hello Python3

# cat b.txt;python3 test.py
cat: b.txt: 没有那个文件或目录
Hello Python3

结论:无论第一条命令执行成功或失败,第二条命令始终执行。

2.用 && 分隔的多条命令

说明:各命令顺序执行,当前一条命令执行成功,才会执行后面的命令。实验:

# cat a.txt && python3 test.py
测试文件1
测试文件2
Hello Python3

# cat b.txt && python3 test.py
cat: b.txt: 没有那个文件或目录

结论:只有当第一条命令执行成功后,才执行第二条命令,否则后面的命令不执行。

3.用 ||(或) 分隔的多条命令

说明:只有当前一条命令执行失败时,才执行下一条命令,直到命令成功执行;也就是说按命令顺序,只执行第一条执行成功的命令。实验:

cat a.txt || python3 test.py
测试文件1
测试文件2

# cat b.txt || python3 test.py
cat: b.txt: 没有那个文件或目录
Hello Python3

# cat b.txt || python3 test.py || cat a.txt
cat: b.txt: 没有那个文件或目录
Hello Python3

# cat b.txt || python3 test1.py || cat a.txt
cat: b.txt: 没有那个文件或目录
python3: can't open file 'test1.py': [Errno 2] No such file or directory
测试文件1
测试文件2

结论:成功执行一条命令后就停止。

4.用 |(管道) 分隔的多条命令

说明:管道可以将前一个命令的输出作为后一个命令的输入,从而让两个(或更多)命令像流水线一样连续工作,不断地处理文本流。执行完成后,输出最后一个命令的结果。实验:

cat a.txt | python3 test.py
Hello Python3

# cat a.txt | wc -l
2

结论:管道把第一条命令的输出,作为第二个命令的输入,最终只输出最后命令的结果;即使第二条命令没有接收第一条命令的输出,第一条命令的结果也不会输出。

以上为shell下同时执行多条命令的常见用法总结,本节完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值