Linux 连续执行多条命令
2016-02-24 01:12
302 查看
很早之前初学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. 命令被双竖线“||”分隔,这些命令会顺序执行下去,遇到执行成功的命令停止,后面的所有命令都将不会执行;
最近项目在进行过程中,需要完成一些自动化回归测试。对了,就是传说中的“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. 命令被双竖线“||”分隔,这些命令会顺序执行下去,遇到执行成功的命令停止,后面的所有命令都将不会执行;
相关文章推荐
- 修复gnome3下chrome鼠标主题不正确的问题
- Linux教程:如何查找并移除Ubuntu上陈旧的PPA仓库
- Linux中的pushd和popd
- Linux下chkconfig命令详解
- Linux下chkconfig命令详解
- Linux内核分析作业 NO.1
- 删除linux系统后,启动电脑报error:no such partition grub rescue>解决
- linux 常用命令
- centos 升级 python
- Linux镜像备份工具rsync
- 在Linux集群上安装与配置Spark
- Linux查看程序端口占用情况
- Linux内核中DM8168的网口驱动移植
- Epoll模型详解
- 【Linux】浅谈I/O模型
- Linux /proc/buddyinfo理解
- linux network command
- centos 5.6 简单搭建samba服务器
- Linux汇编代码学习,反汇编简单的c及分析汇编代码工作过程
- Ubuntu linux 关机、重启、注销 命令