题外话:我不会告诉你写这篇博文的原因是我自己记不住


  1. $NUM

NUM表示1-10之间任意一个数字(因为大于10可能会跟bash内部变量冲突XD).
与此同时,$1表示第一个参数,$2表示第二个参数…反正就是这么个规律.
此外注意,$0表示该文件的文件名.

  1. $$

$$表示当前进程的PID PID是什么?

  1. $#

$#表示参数个数.

e.g.

test.sh:

#!/bin/bash
echo "参数个数为: $#"

root@localhost ~# chmod +x test.sh
root@localhost ~# ./test.sh aaa bbb
参数个数为: 2
root@localhost ~# ./test.sh aaa bbb ccc
参数个数为: 3
  1. $?

$?表示上一条命令的退出状态
常见的有: 0-正常,其他为不正常

  1. $@$*

之所以把这两个放在一起,是因为这两个变量的输出人眼看来是一样的
e.g.:

test.sh:

#!/bin/bash
echo "@ = $@"
echo "* = $*"

root@localhost ~# chmod +x test
root@localhost ~# ./test.sh aaa bbb ccc
@ = aaa bbb ccc
* = aaa bbb ccc

有不同吗?当然有了!
$@的输出结果为单独输出每个参数
$*的输出结果为以一个字符串输出所有参数


那就先到这里了,毕竟更多的我也不会了qwq