SHELL编程之&& ||
来源:互联网 发布:c语言比较4个数大小 编辑:程序博客网 时间:2024/04/28 01:25
1. 使用&&
使用&&的一般形式为:
命令1 && 命令2
这种命令执行方式相当地直接。&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。
这里有一个使用&&的简单例子:
$ cp justing.doc justing.bak && echo “if you are seeing this then cp was OK”
if you are seeing this then cp was OK
在上面的例子中,&&前面的拷贝命令执行成功,所以&&后面的命令(echo命令)被执行。
再看一个更为实用的例子:
$ mv /apps/bin /apps/dev/bin && rm -r /apps/bin
在上面的例子中,/apps/bin目录将会被移到/apps/dev/bin目录下,如果它没有被成功执行,就不会删除/apps/bin目录。
在下面的例子中,文件quarter_end.txt首先将被排序并输出到文件quarter.sorted中,只有这一命令执行成功之后,文件quarter.sorted才会被打印出来:
$ sort quarter_end.txt > quarter.sorted && lp quarter.sorted
2. 使用||
使用||的一般形式为:
命令1 || 命令2
||的作用有一些不同。如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);或者换句话说,“如果这个命令执行失败了|| 那么就执行这个命令”。
这里有一个使用||的简单例子:
$ cp wopper.txt wopper.bak || echo “if you are seeing this cp failed”
cp: wopper.txt: No such file or directory
if you are seeing this cp failed
在上面的例子中,拷贝命令没有能够被成功执行,因此||后面的命令被执行。
这里有一个更为实用的例子。我希望从一个审计文件中抽取第1个和第5个域,并将其输出到一个临时文件中,如果这一操作未成功,我希望能够收到一个相应邮件:
$ awk ‘{print $5}’ acc.qtr > qtr.tmp || echo “Sorry the payroll extraction didn’t work” | mail dave
在这里不只可以使用系统命令;这里我们首先对month_end.txt文件执行了一个名为comet的shell脚本,如果该脚本未执行成功,该shell将结束。
$ comet month_end.txt || exit
使用&&的一般形式为:
命令1 && 命令2
这种命令执行方式相当地直接。&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。
这里有一个使用&&的简单例子:
$ cp justing.doc justing.bak && echo “if you are seeing this then cp was OK”
if you are seeing this then cp was OK
在上面的例子中,&&前面的拷贝命令执行成功,所以&&后面的命令(echo命令)被执行。
再看一个更为实用的例子:
$ mv /apps/bin /apps/dev/bin && rm -r /apps/bin
在上面的例子中,/apps/bin目录将会被移到/apps/dev/bin目录下,如果它没有被成功执行,就不会删除/apps/bin目录。
在下面的例子中,文件quarter_end.txt首先将被排序并输出到文件quarter.sorted中,只有这一命令执行成功之后,文件quarter.sorted才会被打印出来:
$ sort quarter_end.txt > quarter.sorted && lp quarter.sorted
2. 使用||
使用||的一般形式为:
命令1 || 命令2
||的作用有一些不同。如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);或者换句话说,“如果这个命令执行失败了|| 那么就执行这个命令”。
这里有一个使用||的简单例子:
$ cp wopper.txt wopper.bak || echo “if you are seeing this cp failed”
cp: wopper.txt: No such file or directory
if you are seeing this cp failed
在上面的例子中,拷贝命令没有能够被成功执行,因此||后面的命令被执行。
这里有一个更为实用的例子。我希望从一个审计文件中抽取第1个和第5个域,并将其输出到一个临时文件中,如果这一操作未成功,我希望能够收到一个相应邮件:
$ awk ‘{print $5}’ acc.qtr > qtr.tmp || echo “Sorry the payroll extraction didn’t work” | mail dave
在这里不只可以使用系统命令;这里我们首先对month_end.txt文件执行了一个名为comet的shell脚本,如果该脚本未执行成功,该shell将结束。
$ comet month_end.txt || exit
0
上一篇:Linux脚本(shell)编程(四) 判断条件
下一篇:Qt Creator编写LED控制界面
相关热门文章
- shell中字符串操作
- shell中的特殊字符
- stagefright与opencore对比
- linux守护进程的几个关键地方...
- Android常用的一些make命令...
- 我的ChinaUnix博客被锁定了,...
- 虚拟机中ubuntu无线连接问题...
- IBM DS3400 盘阵怎么查看是单...
- 启动auditd时,报错如下,怎么...
- CGSL系统中root密码正确,但无...
给主人留下些什么吧!~~
评论热议
0 0
- Shell编程之Shell 变量
- shell编程之shell基础
- shell编程之基础
- shell编程之sed
- SHELL编程之变量
- shell之cgi编程
- Shell编程之 函数
- shell编程之 .命令
- shell编程之trap
- shell编程之tput
- shell编程之grep
- shell编程之sed
- linux 之shell编程
- SHELL编程之&& ||
- shell 编程之函数
- shell编程之chown
- shell编程之进程
- shell编程之sort
- AndroidAnnotations——SharedPreferencesHelpers
- 修改开发板IP地址并使其启动有效
- /etc/init.d/rcS内容分析
- CSS选择器
- Linux脚本(shell)编程(四) 判断条件
- SHELL编程之&& ||
- Qt Creator编写LED控制界面
- SQLite 数据库的安装与使用
- explicit关键字
- 从Qt 4到Qt 5.2安装、程序迁移和发布
- 将博客搬至CSDN
- uboot在mini2440上的移植
- 根文件系统的制作
- 常见内核引导失败的解决办法
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
小米2s刷机失败怎么办
小米4s刷机失败怎么办
小米5s刷机失败怎么办
移动卡流量不够用怎么办
中麦通信不用了怎么办
机械表走的慢怎么办
车载充电口坏了怎么办
不小心红冲单据怎么办
培训机构不给退怎么办
vivo手机被偷了怎么办
苹果8手机被偷了怎么办
苹果ld账号忘了怎么办
苹果id账户忘了怎么办
iphone丢了怎么办 知乎
我的iphone丢了怎么办
苹果5s丢了怎么办
4s锁了停用了怎么办
qq密保忘记了怎么办
qq靓号会员到期怎么办
诛仙多余的佩章怎么办
打排球手肿了怎么办
麻将中当了相公怎么办
埋线双眼皮淤青怎么办
劲漫画上的漫画怎么办
坐火车坐过站怎么办
头发发尾干枯毛躁怎么办
苹果6开机密码忘记了怎么办
天龙豪侠印多了怎么办
dnf自动修理卡了怎么办
刀剑2延迟上1000怎么办
手机偷了微信怎么办
假体隆胸有气泡怎么办
对方保全我的车怎么办
微博时间线混乱怎么办
起床后口干口苦怎么办
红米4a手机卡机怎么办
热血江湖卡号了怎么办
肾阳虚和肾阴虚怎么办
有阴虚又有阳虚怎么办
电脑锁钥匙丢了怎么办
狗吃了猫粮怎么办