Linux 连续执行多条命令

很早之前初学Linux基本命令的时候,看到这个知识点,说实话觉得有点奇葩。一条一条执行多好,非得把几条命令写在一起。

最近项目在进行过程中,需要完成一些自动化回归测试。对了,就是传说中的“Automation”。

以前一直使用“shell+expect”组合。


后来在使用过程中,越发觉得expect这个东东太落后了,原因如下:

1. 官方已经停止发行新版本了;

2. 调试起来效率低,很多时候代码走的路子跟人想的差太多。


于是,后来决定使用python这一种脚本语言全部搞定。

实践证明,python开发效率非常高,的确是“糙快猛”。

停,跑题了。。。

在我的Automation case中,需要检查一个命令是否执行成功(假设命令为checklog,成功返回0,失败返回1)。

正常情况下,在checklog的下一句,直接“echo $?”,判断0,1即可。

但是,因为执行环境中的命令提示符中有0和1,所以pexpect无法判断“echo $?”的结果。

后来,琢磨着琢磨着,脑海里就冒出来上面的知识点来,试了一下,顺利解决问题特此Mark一下。

# 期望checklog执行成功
checklog && echo success
pexpect.expect('success')

# 期望checklog执行失败
checklog || echo failure
pexpect.expect('failure')

温习知识点:
1. 命令被分号“;”分隔,这些命令会顺序执行下去;
2. 命令被“&&”分隔,这些命令会顺序执行下去,遇到执行错误的命令停止;
3. 命令被双竖线“||”分隔,这些命令会顺序执行下去,遇到执行成功的命令停止,后面的所有命令都将不会执行;
### 回答1: 问题:Linux 连续执行多条命令。 回答:通过使用分号 (;) 或者 && 连接符,可以让 Linux 连续执行多条命令。使用 ; 分号可以让 Linux 依次执行多条命令,不管前面的命令是否成功执行;使用 && 连接符则是只有前面的命令成功执行了,才会执行后面的命令。 ### 回答2: Linux系统中,可以使用分号、&& 和 || 分隔多条命令,实现连续执行多条命令的操作。 1. 分号 (;) 分隔: 在命令行中使用分号 (;) 分隔多条命令,可以让Linux系统依次执行多个命令,例如: ``` $ command1; command2; command3 ``` 每个命令之间用分号隔开,当前一个命令执行完毕后,才会开始执行下一个命令。 2. && 分隔: 在命令行中使用 && 分隔多条命令,可以让Linux系统在前一条命令执行成功后,才会执行一条命令,例如: ``` $ command1 && command2 && command3 ``` 如果 command1 执行失败,则不会执行 command2 和 command3。 3. || 分隔: 在命令行中使用 || 分隔多条命令,可以让Linux系统在前一条命令执行失败后,才会执行一条命令,例如: ``` $ command1 || command2 || command3 ``` 如果 command1 执行成功,则不会执行 command2 和 command3。 总的来说,以上三种分隔符号在不同的情况下有不同的使用方式。分号是简单粗暴的依次执行命令,无论是否成功。而 && 和 || 分隔符可以根据前一个命令的情况,来决定是否需要执行下一个命令。在实际使用中,需要根据具体情况来选择使用哪一种分隔符号,以达到更好的效果。 ### 回答3: Linux是一种非常强大的操作系统,用户可以使用命令行界面来操作。在Linux中,可以通过连接多条命令来达到连续执行的效果。 一、使用分号 在Linux中,使用分号(;)来连接多条命令是一种常见的方法。当使用分号分隔命令时,每个命令都会被顺序执行,不管前面的命令是否执行成功。 例如,要在Linux连续执行三条命令echo "Hello"; ls; pwd,可以在命令行中输入:echo "Hello"; ls; pwd,然后按Enter键执行命令。 二、使用双竖杠 在Linux中,使用双竖杠(||)来连接多条命令是一种常见的方法。当使用双竖杠连接两个命令时,如果前面的命令执行成功,则不会执行后面的命令。如果前面的命令执行失败,则会执行后面的命令。 例如,要在Linux连续执行两条命令,如果第一条执行成功了,则不执行第二条,如果第一条执行失败了,则执行第二条。输入命令:cat hello.txt || echo "hello.txt does not exist",按Enter键执行命令。 三、使用双与号 在Linux中,使用双与号(&&)来连接多条命令是一种常见的方法。使用双与号连接两个命令时,只有当前面的命令执行成功了,才会执行后面的命令。如果前面的命令执行失败了,则不会执行后面的命令。 例如,要在Linux连续执行两条命令,如果第一条执行成功了,则执行第二条,如果第一条执行失败了,则不执行第二条。输入命令:make && make install,按Enter键执行命令。 总而言之,Linux中有多种方法可以连接多条命令来达到连续执行的效果。用户可以根据自己具体的需求选择不同的方法来解决问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值