shell中变量$#,$@,$0,$1,$2,$*,$$,$?的含义小结

  • A+

一.变量总结

  1. 1. $$  
  2. Shell本身的PID(ProcessID)  
  3.   
  4. 2. $!  
  5. Shell最后运行的后台Process的PID  
  6.   
  7. 3. $?  
  8. 最后运行的命令的结束代码(返回值)  
  9.   
  10. 4. $-  
  11. 使用Set命令设定的Flag一览  
  12.   
  13. 5. $*  
  14. 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
  15.  
  16. 6. $@ 
  17. 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。  
  18.   
  19. 7. $#  
  20. 添加到Shell的参数个数  
  21.   
  22. 8. $0  
  23. Shell本身的文件名  
  24.   
  25. 9.$1$n  
  26. 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。  

二.脚本示例

  1. [root@localhost ~]# cat mytest.sh  
  2. #!/bin/bash  
  3. echo "number:$#"  
  4. echo "scname:$0"  
  5. echo "first :$1"  
  6. echo "second:$2"  
  7. echo "argume:$@"  
  8. echo "show parm list:$*"  
  9. echo "show process id:$$"  
  10. echo "show precomm stat: $?"  
  11. [root@localhost ~]  
  12.   
  13.   
  14. [root@localhost ~]# sh mytest.sh  
  15. number:0  
  16. scname:mytest.sh  
  17. first :  
  18. second:  
  19. argume:  
  20. show parm list:  
  21. show process id:18702  
  22. show precomm stat: 0  
  23. [root@localhost ~]# sh mytest.sh 123  
  24. number:1  
  25. scname:mytest.sh  
  26. first :123  
  27. second:  
  28. argume:123  
  29. show parm list:123  
  30. show process id:18703  
  31. show precomm stat: 0  
  32. [root@localhost ~]# sh mytest.sh 123 789  
  33. number:2  
  34. scname:mytest.sh  
  35. first :123  
  36. second:789  
  37. argume:123 789  
  38. show parm list:123 789  
  39. show process id:18704  
  40. show precomm stat: 0  
  41. [root@localhost ~]  

moonrong
  • 版权声明:本站原创文章,于2020年5月29日10:01:49,由 发表,共 1101 字。
  • 版权声明: 本文由于2020年5月29日10:01:49 发表在 好派笔记,共 1101 字。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: