shell特殊变量

来源:互联网 发布:淘宝内容营销案例 编辑:程序博客网 时间:2024/06/03 17:01

特殊的shell变量:

$0 获取当前执行的shell脚本的文件名
$n 获取当前执行的shell脚本的第n个参数值,n=1..9
$* 获取当前shell的所有参数 “12 $3 …,受IFS控制
$# 获取当前shell命令行中参数的总个数
$$ 获取当前shell的进程号(PID)
$! Shell最后运行的后台Process的PID
$? 获取执行的上一个指令的返回值(0 为成功, 非零为失败)
$@ 这个程序的所有参数 “1''2″ “$3″ “…”,不受IFS控制

注:
IFS: IFS(Internal Field Seperator)在Linux的shell中预设的分隔符,用来把command line分解成word(字段)。IFS可以是White Space(空白键)、Tab( 表格键)、Enter( 回车键)中的一个或几个。
$* 和 $@ 的区别:
$*$@都表示传递给函数或脚本的所有参数,不被双引号(” “)包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。
但是当它们被双引号(” “)包含时,”$*” 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;”$@” 会将各个参数分开,以$1" "$2" … "$n"的形式输出所有参数。

原创粉丝点击