linux特殊shell变量有哪些,shell特殊变量用法

发布时间:2020-12-11编辑:脚本学堂
有关linux下特殊shell变量的用法,几个特殊的shell变量,这在shell脚本编程中经常会用到。

总结几个特殊的shell变量:
 

复制代码 代码示例:
#
特殊的shell变量:
$0  获取当前执行的shell脚本的文件名
$n  获取当前执行的shell脚本的第n个参数值,n=1..9
$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别
$#  获取当前shell命令行中参数的总个数
$$  获取当前shell的进程号(PID)
$!  执行上一个指令的PID
$?  获取执行的上一个指令的返回值(0 为成功, 非零为失败)
$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”

例子,shell脚本中特殊变量的用法:
 

复制代码 代码示例:
[ryan@etiantian test]# cat etiantian.sh
echo ‘$0  获取当前执行的shell脚本的文件名:’$0
echo ‘$n  获取当前执行的shell脚本的第n个参数值,n=1..9:’ ‘$1′=$1 ‘$2′=$2 “$3=$3″
echo ‘$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别:’$*
echo ‘$#  获取当前shell命令行中参数的总个数:’$#
echo ‘$$  获取当前shell的进程号(PID):’$$
sleep 2 &
echo ‘$!  执行上一个指令的PID :’$!
echo ‘$?  获取执行的上一个指令的返回值:’$?
echo ‘$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”:’$@

脚本执行结果:
 

复制代码 代码示例:

[ryan@etiantian test]# sh etiantian.sh 参数1 参数2 参数3
$0  获取当前执行的shell脚本的文件名: etiantian.sh
$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=参数1 $2=参数2 $3=参数3
$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: 参数1 参数2 参数3
$#  获取当前shell命令行中参数的总个数: 3
$$  获取当前shell的进程号(PID): 2062
$!  执行上一个指令的PID : 2063
$?  获取执行的上一个指令的返回值: 0
$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: 参数1 参数2 参数3

[ryan@etiantian test]# sh etiantian.sh ryan jeacen david
$0  获取当前执行的shell脚本的文件名: etiantian.sh
$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=ryan $2=jeacen $3=david
$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: ryan jeacen david
$#  获取当前shell命令行中参数的总个数: 3
$$  获取当前shell的进程号(PID): 2160
$!  执行上一个指令的PID : 2161
$?  获取执行的上一个指令的返回值: 0
$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: ryan jeacen david