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

29 Jun 2018 shell技巧分享(八)

作者头像
俊采
发布于 2023-10-17 02:51:25
发布于 2023-10-17 02:51:25
11600
代码可运行
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志
运行总次数:0
代码可运行

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

1 &&的作用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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
代码运行次数:0
运行
AI代码解释
复制
$ 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
代码运行次数:0
运行
AI代码解释
复制
$ 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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
05 Jun 2018 shell技巧分享(五)
05 Jun 2018 shell技巧分享(五) 这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。 1 重定向相关知识 重定向标准输出到文件 $ echo line1 > test.log $ cat test.log line1 重定向标准错误到文件 $ echo line1 2> error.log line1 $ cat error.log 重定向标准输出到标准错误 $ echo lin
俊采
2018/06/06
3260
shell脚本之特殊符号总结性梳理
# 井号 (comments) 这几乎是个满场都有的符号 #!/bin/bash 井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行。 # This line is comments. echo \"a = $a\"     # a = 0 由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就行了。这常用在撰写过程中。 #echo \"a = $a\"  # a = 0 如果被用在指令中,或者引号双引号括住的话,或者在倒斜线的后面,那他就
洗尽了浮华
2018/01/22
9540
21 Jun 2018 shell技巧分享(七)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
俊采
2023/10/17
1440
Linux awk命令
除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。
芯动大师
2023/11/10
4510
Linux awk命令
常用 linux 命令集锦
文章涉及到vim\grep\cat\more\less\echo\sed\awk的入门用法。
一个会写诗的程序员
2022/01/07
4.5K0
有了这 27 个Linux 技巧,让你工作效率翻倍!
今天给大家分享 27 个实用的 Linux 技巧,对于一些经常在 Linux 操作系统下玩的重度爱好者,可以有效的提高你的工作效率。
杰哥的IT之旅
2021/07/13
7210
有了这 27 个Linux 技巧,让你工作效率翻倍!
大大提高你的工作效率的Linux 技巧
如果此时使用ctrl + u快捷键,那么该条命令都会被清除,而不需要长按backspace键。
用户7657330
2022/05/10
4760
Shell利剑之xargs和time
---- xargs 从标准输入中读取内容,并将此内容传递给它要协助的命令,并作为协助命令的参数来执行。 brian@local:~$ echo "1.txt 2.txt 3.txt" | xargs ls 1.txt 2.txt 3.txt 将echo的标准输出作为xargs的输入,并将输入传递给协助命令ls作为参数来执行。 xargs和管道的区别 我们通过cat命令来查看文件1.txt的内容,比如: brian@Dmaster:~$ echo 1.txt | cat 1.txt brian@Dmast
吕海峰
2018/04/03
6970
这些linux技巧大大提高你的工作效率
linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的linux技巧。
帅地
2019/06/06
6230
2020-09_Shell 编程笔记
shell 是一个命令解释器。它在操作系统的外层,负责直接与用户的对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。
Java架构师必看
2021/03/22
1.4K0
《Linux操作系统编程》第七章 shell的交互功能: 了解shell的启动过程,shell的功能,shell的命令形式,shell程序的建立和运行,理解管道和重定向,环境变量和系统变量以及变量引用
​ 让学生了解shell的启动过程,shell的功能,shell的命令形式,shell程序的建立和运行,理解管道和重定向,环境变量和系统变量以及变量引用方式。
猫头虎
2024/04/08
3110
《Linux操作系统编程》第七章 shell的交互功能: 了解shell的启动过程,shell的功能,shell的命令形式,shell程序的建立和运行,理解管道和重定向,环境变量和系统变量以及变量引用
小白Linux入门--入门篇(二):Linux中特殊符号./~><;的作用详解
开头先给大家介绍两个实用又常用的Linux命令,可以让你在实用Linux过程中更加方便!
浩Coding
2019/07/02
27.5K0
小白Linux入门--入门篇(二):Linux中特殊符号./~><;的作用详解
Shell特殊字符
shell既是类Unix操作系统的命令解析器,用于解释执行用户输入的一连串命令,它类似于DOS下的command和后来Windows的cmd.exe。同时shell也是一种程序设计语言。作为命令解释型的脚本语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它预定义了各种环境变量,保留了一些关键字以及一些特殊字符的含义,并提供了许多在高级语言中才具有的控制结构,包括循环和分支判断。
恋喵大鲤鱼
2018/08/03
5.4K0
linux学习-bash shell 编程
保存退出,加运行权限chmod u+x hello.sh(当前用户运行权限 ,a+x 所有人运行权限), 运行./hello.sh
solate
2019/07/22
3.9K0
linux 小结
使用crontable 创建任务后任务会记录到/var/sponl/cron里面去 执行日志保存到/var/log/cron中
六个核弹
2022/12/23
1.4K0
Linux 命令行小技巧-持续更新
你有将Linux物尽其用吗?有些时候你会需要这些技巧。本博文会帮助你更好得使用一些命令,发挥其更强大的功能。
小小工匠
2021/08/16
9450
Linux基础命令行使用技巧
描述:本章主要学习并记录了Linux中命令行补全以及参数补全的实现方法,还Linux中执行过的命令进行查看,让您想Hacker一样操作终端;
全栈工程师修炼指南
2022/09/29
6.1K0
Linux基础命令行使用技巧
Shell脚本管道符与重定向
命令格式: 命令1 | 命令2,有一定的编程思想在里面 命令1的正确输出作为命令2的操作对象,和逻辑与不一样
全栈工程师修炼指南
2020/10/26
1.8K0
Shell脚本管道符与重定向
Linux基础命令行使用技巧
描述:本章主要学习并记录了Linux中命令行补全以及参数补全的实现方法,还Linux中执行过的命令进行查看,让您想Hacker一样操作终端;
全栈工程师修炼指南
2020/10/26
5.9K0
Linux基础命令行使用技巧
一定要知道的,那些Linux基本操作命令(一)
目录 1.文件和目录操作命令 2.用户和用户组操作命令 3.vim编辑器操作命令 4.打包和解压操作命令 5.系统操作命令 为什么要学习linux? 1.linux是一款操作系统 2.linux经常
王豆豆
2018/06/08
7480
相关推荐
05 Jun 2018 shell技巧分享(五)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验