一系列命令的连贯执行

前沿:某些情况下,很多命令想一次性输入,而不要分次执行,这可如何是好?

有两种方式可以解决上述问题,一种是写脚本(这个我们暂时不介绍),另外一种就是使用一些特殊符号来控制命令的连贯执行。

怎么控制呢?

1.顺序执行

command1;command2;command3

使用分号;将一系列的命令隔开,这样一来,分号前的命令执行完后就会立刻接着执行后面的命令了。

 

2.选择执行

当两个命令之间有相关性时,这个相关性主要判断的地方就在于前一个命令执行的结果似乎否正确,这需要使用到命令回传码$?,当前一个命令执行的结果为正确,在Linux下面会回传一个$?=0的值。根据这个回传码,我们就可以来判断后续的命令是否要执行了,如:

(1)&&

command1 && command2 

若command1执行完毕且正确执行(即$?=0),则开始执行command2;

若command1执行完毕且为错误(即$?!=0),则不执行command2;

(2)||

command1 || command2 

若command1执行完毕且正确执行(即$?=0),则不执行command2;

若command1执行完毕且为错误(即$?!=0),则开始执行command2;

 

举个例子:假设当前我们在tmp目录下,想要创建一个/tmp/adb/hehe文件,可以使用如下一行指令:

ls /tmp/abc || mkdir /tmp/abc && touch /tmp/abc/hehe

这行命令总共有三段,来解释下:

如果命令ls /tmp/abc执行完毕,且正确执行,即$?=0,表示tmp下有abc这个文件夹,那就不需要执行mkdir /tmp/abc来创建abc文件夹了,后续就直接执行touch /tmp/abc/hehe。

如果命令ls /tmp/abc执行完毕,且为错误,即$?=0,也就是终端提示在tmp下找不到abc这个文件夹,那就需要执行mkdir /tmp/abc来创建abc文件夹了,创建好了abc这个文件夹之后,就开始直接执行touch /tmp/abc/hehe。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

renshuguo123723

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值