shell教程二: shell中的$

来源:互联网 发布:菜瓜软件 编辑:程序博客网 时间:2024/05/22 09:06

shell教程二: shell中的$

       shell脚本中你可能经常看到"$",他的含义是什么吗

假设环境:
     一个shell文件                     shell.sh;
     linux命令行                         >>>;

$0 这个程序的执行名字

             >>> shell.sh
             $0在 shell.sh脚本中 代表 字符串 "shell.sh"

$n 这个程序的第n个参数值,n=1..9

>>> shell.sh aa bb cc dd ee

$1 在shell.sh 脚本中 代表 字符串 aa

$2在shell.sh 脚本中 代表 字符串 bb 

以此类推 最多到9

$* 这个程序的所有参数,此选项参数可超过9个

>>> shell.sh aa bb cc dd ee

$*代表 字符串 “aa bb cc dd ee”

$# 这个程序的参数个数

>>> shell.sh aa bb cc dd ee

$#代表整数5

$$ 这个程序的PID(脚本运行的当前进程ID号)

           >>>shell.sh
           $$ 代表 shell.sh 的进程ID

$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)

              >>>nodup sleep 5 &
              >>> echo $!
             $! 代表 sleep 5 的进程ID

$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)

             >>> echo "ok";echo $?
             $? 代表 echo“ok”的退出状态

$- 显示shell使用的当前选项,与set命令功能相同

              >>> shell.sh -i a
              $- 代表 shell.sh 脚本 字符床 “-i”

$@ 跟$*类似,但是可以当作数组用

              >>> shell.sh aa bb cc
              $@ 代表 数组 [aa, bb, cc]

1 0