1 $相关关键词

shell中与shell特殊符号梳理_群组@和shell特殊符号梳理_bash_02n等经常被使用,但是有时候仍然对部分符号记忆不是很深刻,特地整理成表格方便记忆。

-

描述

备注

$0

当前脚本文件名

$n

传递给脚本或函数的参数

$#

传递给脚本或函数的所有参数个数

$*

传递给脚本或函数的所有参数

当它们被双引号(" “)包含时,”$*" 会将所有的参数作为一个整体,以"$1 $2 … n"的形式输出所有参数;"n"的形式输出所有参数;

$@

传递给脚本或函数的所有参数

“@” 会将各个参数分开,以"$1" “2"…“2”…"n” 的形式输出所有参数。

$$

shell本身的pid

$!

Shell最后运行的后台Process的PID

$?

最后运行的命令的结束代码(返回值)

$(cmd)

cmd执行命令返回值转换成字符串输出

等同于``

${}

变量的正规表达式

2 shell括号梳理

符号

描述

描述

() 小括号

指令群组有一个特性,shell会以产生 subshell来执行这组指令

(( )) 双括号

这组符号的作用与 let 指令相似,用在算数运算上,是 bash 的内建功能。所以,在执行效率上会比使用 let指令要好许多。

{ }大括号

一段指令;函数括号

类似于指令群组,但是不会产生subshell

[] 中括号

1、流程控制中判断式子

2、正则表达式中范围 rm -fr 200[1234]

[[ ]]双中括号

与[]作用基本相同