Linux中,&和&&,|和||区别
Posted 风与沙的较量
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中,&和&&,|和||区别相关的知识,希望对你有一定的参考价值。
1、& 表示任务在后台执行,比如运行一个jar文件,但是希望是后台运行可以执行
java -jar test.jar &
2、&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo 'step1‘ && echo ‘step2’
step1执行成功才会执行step2
step2执行失败,step2不会执行
3、| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l
nl ./test | sed ‘2,5d’
将test里面的内容和对应行号输出,作为sed 命令的输入参数
sed ‘2,5d’ 输入参数A
输入参数A:(nl ./test的输出)
4、|| 表示上一条命令执行失败后,才执行下一条命令,echo 'step1‘ || echo ‘step2’
step1执行失败才会执行step2
step2执行成功,step2不会执行
linux shell中的&& || 和()
1. linux命令返回值介绍
shell 在执行某个命令时,会有一个返回值,该值保存在shell变量$?中。当$?为0时,表示命令执行成功;当$?为1时,表示命令执行失败。
2. &&
语法格式如下:
command1 && command2 &&...
- command之间用&&连接,实现逻辑与功能
- 当&&左边的命令执行成功(command的返回值$?=0)时,&&右边的command才会被执行。
- 只要有一个command执行不成功(command返回值$?=1)时,后面的command就不会被执行
3. ||
语法格式如下:
command1 || command2 || .....
- command 之间使用||链接,实现逻辑或功能
- 当||左边的command执行不成功(command的返回值$?=1)时,||右边的command才会被执行。
- 只要有一个command执行成功(command的返回值$?=0)时,后面的command就不会被执行。
4 ()
语法格式如下:
(command1;command2;.....)
- 一个command需要独占一个物理行,如果需要将多个comand放在同一行,命令之间需要使用命令分隔符(;)分隔。执行的效果等同于多个独立的命令单独执行。
- ()表示在当前的shell中将多个command作为一个整体执行。注:command组合都是在当前工作目录下被执行的,尽管command中有切换目录的command。
- command组合常与命令执行控制(&&或||)结合使用。
以上是关于Linux中,&和&&,|和||区别的主要内容,如果未能解决你的问题,请参考以下文章