$# : 传递到脚本的参数个数
$* : 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个
$$ : 脚本运行的当前进程 ID号
$! : 后台运行的最后一个进程的进程 ID号
$@ : 与$#相同,但是使用时加引号,并在引号中返回每个参数
$- : 显示shell使用的当前选项,与 set命令功能相同
$? : 显示最后命令的退出状态。 0表示没有错误,其他任何值表明有错误。
#!/bin/sh #param.sh# $0:文件完整路径名 echo "path of script : $0" # 利用basename命令文件路径获取文件名 echo "name of script : $(basename $0)" # $1:参数1 echo "parameter 1 : $1" # $2:参数2 echo "parameter 2 : $2" # $3:参数3 echo "parameter 3 : $3" # $4:参数4 echo "parameter 4 : $4" # $5:参数5 echo "parameter 5 : $5" # $#:传递到脚本的参数个数 echo "The number of arguments passed : $#" # $*:显示所有参数内容i echo "Show all arguments : $*" # $:脚本当前运行的ID号 echo "Process ID : $" # $?:回传码 echo "errors : $?"
输入./param.sh hello world
[firefox@fire Shell]$ ./param.sh hello world path of script : ./param.sh name of script : param.sh parameter 1 : hello parameter 2 : world parameter 3 : parameter 4 : parameter 5 : The number of arguments passed : 2 Show all arguments : hello world Process ID : 5181 errors : 0