Shell脚本之特殊变量

本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。

Shell的特殊变量
    位置变量
      $0:获取当前脚本的文件名,包括路径(dirname$0只获取脚本路径;basename$0只获取脚本名称)

        Shell脚本之特殊变量_第1张图片

        Shell脚本之特殊变量_第2张图片


      $n:获取当前执行的shell脚本的第n个参数值,n=1..9。如果n大于9,则用{ }将数字括起来。(1..9等数字表示取脚本执行后得到的结果的具体对应的参数。如:sh n.sh kk  ff,$1的取值是kk)

        Shell脚本之特殊变量_第3张图片


      $#:获取脚本执行后命令行参数的总个数。如:sh n.sh 1 2 3,$#的值为3;sh n.sh “1 2 3”,$#的值为1,原因是“1 2 3”为一个参数。

        Shell脚本之特殊变量_第4张图片

 

    进程状态变量

        Shell脚本之特殊变量_第5张图片


      $$:获取当前shell的进程号(PID),如2565

        Shell脚本之特殊变量_第6张图片


      $!:执行上一个指令的PID,如2565
      $?:获取执行上一个命令的返回值(0为成功;非0为失败,2表示权限拒绝,126有命令但无法执行,127没找到运行的命令),可以判断上一个命令有没有执行成功;各种打包的时候也可以用它来判断。

        Shell脚本之特殊变量_第7张图片


      $#:获取当前shell的命令行中参数的总个数
      $*:获取当前shell的所有参数(将所有命令行所有参数视为一个字符串,等同于“$1$2$3”)
      $@:这个程序的所有参数(将命令行每个参数视为单独的字符串,等同于“$1”,“$2”,“$3”)
      $_:在之前执行的命令或脚本的最后一个参数

你可能感兴趣的:(通用技术,Shell)