一、符号
1、$@:传递的参数。
2、$# :传递参数的数量。
3、$?:指上一次执行命令后的返回值。一般0表示运行成功。
补充:$?只表示上一个命令执行后的退出状态,当命令执行后,又执行了其他命令,然后查看$?状态时,只表示第二个执行命令的状态,与第一个无关。
4、$! :后台运行的最后一个进程的进程号(PID)。
5、$$:当前进程的进程号(PID)。
6、!!:再次执行上一次运行的命令,并在屏幕上打印出所执行的命令。
7、!*:替代上一次运行的命令,参数继续沿用。
8、!$:获取上一条命令的最后一个参数。
9、!:3:获取上一条命令的指定参数。(参数位置从1开始算起)
10、&&:逻辑与,当前一个命令执行成功时,才能执行后一条命令。
11、||:逻辑或,当前一个命令执行失败时,才能执行后一条命令。
12、$n:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}。(位置参数变量,多用于脚本中)
13、$*:代表命令行中所有的参数,$*把所有参数看成了一个整体。(位置参数变量,多用于脚本中)
14、$@:代表命令行中所有的参数,不过$@把每个参数区分对待。
二、命令
1、basename : 打印名字,直接提取最后的名字,多用在脚本中。
2、dirname:输出每个NAME的最后一个非斜杠组件和尾部斜杠,多用在脚本中。