linux中;、和、

Linux 特殊字符用法

  • 特殊字符:; | || & &&

  • 注意:shell 在执行某个命令的时候,会返回一个返回值,该返回值保存到 shell 变量 $?

  • 如果 $? == 0时,表示命令执行成功;

  • 如果 $? == 1时(有时可以认为非0的数,返回值在0-255 之间),表示命令执行失败;

; 分号用法

命令1 ; 命令2
  • 用分号隔开两个命令,每条命令按照从左到右的顺序,顺序执行,彼此之间不关心是否失败,所有命令都会执行。

| 管道符用法

命令1 | 命令2
  • 上一条命令的输出,作为下一条命令参数
  • 举例:
grep "123" 1.txt | wc -l
# grep 查询 1.txt 包含 123 的数据, 并将数据输送给 wc 命令,wc 命令统计输入的行数 

||

  • 相当于逻辑或
命令1 || 命令2
  • 只有在 || 左边的命令返回假,右边的命令才会被执行。
  • 只要有一个命令返回真,后面的命令都不会被执行。一直到返回真的地方停止执行

&

  • 放在启动命令参数后面表示设置此进程为后台进程
命令 &
  • 默认情况下,命令启动进程是前台进程。

&&

  • 相当于逻辑与
命令1 && 命令2
  • 前一条命令执行成功,才会执行下一条命令。

linux中,&和&&、|和|| 用法

& 表示任务在后台执行,如要在后台运行python 脚本,则有 python *.py &

&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo ‘2’

| 表示管道,上一条命令的输出,作为下一条命令参数,如 grep ‘123’ 1.txt | wc -l

|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo “fail”