举例说:
脚本名称叫test.sh 入参三个: 1 2 3 如下
./test.sh 1 2 3
运行test.sh 1 2 3后
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
$#为3(参数数量)
事例2:
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(my_fun "$@") echo 'the number of parameter in "$*" is '$(my_fun "$*")执行:./my.sh p1 "p2 p3" p4后返回:the number of parameter in "$@" is 3 //"$@" = "p1" "p2 p3" "p4" the number of parameter in "$*" is 1 //"$*" = "p1 p2 p3 p4"
- $n
- $1 表示第一个参数,$2 表示第二个参数 …
- $#
- 命令行参数的个数
- $0
- 当前程序的名称
- $?
- 前一个命令或函数的返回码
- $*
- 以”参数1 参数2 … ” 形式保存所有参数
- $@
- 以”参数1″ “参数2″ … 形式保存所有参数
- $
- 本程序的(进程ID号)PID
- $!
- 上一个命令的PID