[关闭]
@mrz1 2017-11-26T08:17:06.000000Z 字数 974 阅读 1017

linux中shell变量#,@,1,$2的含义解释

面试题


  1. [root@centos7 ~]#vim r1.sh
  2. #! /bin/bash
  3. # ------------------------------------------
  4. # Filename: r1.sh
  5. # ...... //省略
  6. # ------------------------------------------
  7. printf "The complete list is %s\n" "$$" //Shell本身的PID(ProcessID)
  8. printf "The complete list is %s\n" "$!" //Shell最后运行的后台Process的PID
  9. printf "The complete list is %s\n" "$?" //最后运行的命令的结束代码(返回值)
  10. printf "The complete list is %s\n" "$*" //所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
  11. printf "The complete list is %s\n" "$@" //所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
  12. printf "The complete list is %s\n" "$#" //添加到Shell的参数个数
  13. printf "The complete list is %s\n" "$0" //Shell本身的文件名
  14. printf "The complete list is %s\n" "$1" //添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
  15. printf "The complete list is %s\n" "$2" //添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

结果:

  1. [root@centos7 ~]#./r1.sh 123456 QQ
  2. The complete list is 5327
  3. The complete list is
  4. The complete list is 0
  5. The complete list is 123456 QQ
  6. The complete list is 123456
  7. The complete list is QQ
  8. The complete list is 2
  9. The complete list is ./r1.sh
  10. The complete list is 123456
  11. The complete list is QQ
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注