在写脚本时,经常遇到这样的问题:
如何获取当前进程号,脚本执行过的命令的进程号?
如何获取当前时间?
如何得到参数个数?
如何得到脚本中各命令的返回信息?。。。。
其实这些信息都能轻松从shell预定义的一些特殊变量获得,下面总结了一些常用的。
特殊的shell变量:#获取当前执行的shell脚本的文件名 $0#获取当前执行的shell脚本的第n个参数值,n=1..9 $n #获取当前shell的所有参数$1 $2 $3 … $* # 注意与$#的区别 #获取当前shell命令行中参数的 总个数 $# #获取当前shell的进程号(PID) $$ #执行上一个指令的PID $!#获取执行的上一个指令的返回值(也就是main()的返回值,通常0 为成功, 非0零为失败) $? #这个程序的所有参数 “$1″ “$2″ “$3″ “…” $@
案例:
vim shell.sh
写入脚本内容:
echo $0 echo $1 echo $n echo $#echo $* echo $? echo $@ echo $! echo $$
执行脚本:sh shell.sh add test