前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >29 Jun 2018 shell技巧分享(八)

29 Jun 2018 shell技巧分享(八)

作者头像
俊采
发布2023-10-17 10:51:25
1030
发布2023-10-17 10:51:25
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。

1 &&的作用

代码语言:javascript
复制
$ touch test.log
$ cat test.log && echo ok
ok
$ rm test.log
$ cat test.log && echo ok
cat: test.log: No such file or directory

如果命令之间使用&&分隔,相当于逻辑“与”,此时只有前一个命令执行成功,后一个命令才会执行,如果前一个命令执行失败,后一个命令就不会执行。由示例中可以看到,当test.log文件存在时,会正常打印ok,但是删除test.log文件后,cat test.log执行失败,不会执行第二条命令,所以不打印ok。

2 ||的作用

代码语言:javascript
复制
$ touch test.log
$ cat test.log || echo ok
$ rm test.log
$ cat test.log || echo ok
cat: test.log: No such file or directory
ok

如果命令之间使用||分隔,相当于逻辑“或”,此时只有前一个命令执行失败,后一个命令才会执行,如果前一个命令执行成功,后一个命令就不会执行。由示例中可以看到,当test.log文件存在时,不会打印ok,但是删除test.log文件后,cat test.log执行失败,此时会执行第二条命令,所以打印ok,行为和&&相反。

3 分号的作用

代码语言:javascript
复制
$ touch test.log
$ cat test.log;echo ok
ok
$ rm test.log
$ cat test.log;echo ok
cat: test.log: No such file or directory
ok

如果命令之间使用分号分隔,那么命令会依次执行,不管分号前的命令是否执行成功,后续命令都会执行。由示例中可以看到,就算将test.log文件删除,也会正常打印ok。

综上,三种符号的作用总结如下:

  • cmdA && cmdB:只有cmdA执行成功,才会执行cmdB
  • cmdA || cmdB:只有cmdA执行失败,才会执行cmdB
  • cmdA ; cmdB:不管cmdA是否执行成功,都会执行cmdB

LEo at 00:05

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 &&的作用
  • 2 ||的作用
  • 3 分号的作用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档