shell && 和 || 的短路使用
2024-10-15 21:55:25
shell && 和 || 的短路使用
&&
和 ||
在 shell 中分别表示 and
和 or
,和其它语言类似,这两个操作有短路效应。也就是说,当判断式已经确定时,不再继续处理后续表达式。 &&
在失败时中断, ||
在成功时中断。 简单的短路经常可以在一些网上的脚本里面看到。
如:
a=1
[ a -eq 2 ] && echo "a=2"
因为在第一个条件测试时,已确定为假(失败),echo
并不会执行。
a=1
[ a -eq 1 ] || echo "a=1"
因为在第一个条件测试时,已确定为真(成功),echo
并不会执行。
这种短路方式会给 shell 编程带来一定的便利,减少很多的 if-else
语句。但在判断条件复杂时,不建议使用过于复杂的短路组合,以免大大降低了代码的可读性。
常见的用法:
命令成功或失败后的后续处理
ifdown -a --exclude=lo && ifup -a --exclude=lo
which lsb_release || exit 0
简单条件判断
[ -n "${MY_IP}" ] && ifconfig eth0 "${MY_IP}" 255.255.255.0
最新文章
- 解决scrollview上的menu拖动问题以及menu item在可视区外仍能触发的问题
- 大冰--寻人启事--one
- Azure MySQL PaaS (2) MySQL PaaS修改时区
- Hyperledger fabric Client Node.js Hello World示例程序
- HDU 3639 Bone Collector II(01背包第K优解)
- LinuxShell脚本攻略--第八章 当个好管家
- StatusBar &; StatusBarItem
- Android UI开发第三十篇——使用Fragment构建灵活的桌面
- 对React的理解
- GDI相关基础知识
- (C#)Windows Shell 编程系列1 - 基础,浏览一个文件夹
- Java OPC 代码
- 12、多线程:Threading、守护线程
- 51nod 1061 最复杂的数V2
- 回顾<;Video Timing Controller v6.1>;
- VM虚拟机克隆_修改网络
- python学习之老男孩python全栈第九期_day007作业
- python中使用Opencv进行人脸识别
- hdu2138 Miller_Rabin
- Arcgis10.1 Arcobject连接Oracel数据库
热门文章
- Scala _ [underscore] magic
- 5. Configure the Image Service
- x86_64编译JPEG遇到Invalid configuration `x86_64-unknown-linux-gnu&#39;
- UAPStudio授权过期的解决方法,重新授权
- Web 在线文件管理器学习笔记与总结(6)jQuery UI 预览图片
- PHP生成随机密码的4种方法及性能对比
- Visual Studio开发环境最佳字体及配色
- php-->;mongodb[curd操作]
- 【转】CodeIgniter定义自己的Helper和Helper的方法
- java override