Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346717
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 847
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-25 22:29
个人简介

执一不失,能君万物http://weidian.com/s/284520723?wfr=c

文章分类

全部博文(81)

文章存档

2016年(11)

2015年(70)

我的朋友

分类: LINUX

2015-07-06 19:45:49

shell中$0,$,$!等的特殊用法

点击(此处)折叠或打开

  1. 变量说明:
  2. $$
  3. Shell本身的PID(ProcessID)
  4. $!
  5. Shell最后运行的后台Process的PID
  6. $?
  7. 最后运行的命令的结束代码(返回值)
  8. $-
  9. 使用Set命令设定的Flag一览
  10. $*
  11. 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
  12. $@
  13. 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
  14. $#
  15. 添加到Shell的参数个数
  16. $0
  17. Shell本身的文件名
  18. $1~$n
  19. 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
  20. 我们先写一个简单的脚本,执行以后再解释各个变量的意义
  21. # touch variable
  22. # vi variable
  23. 脚本内容如下:
  24. #!/bin/bash
  25. echo "number:$#"
  26. echo "vname:$0"
  27. echo "first:$1"
  28. echo "second:$2"
  29. echo "shellpid:$$"
  30. echo "pgpid:$!"
  31. echo "fanhui:$?"
  32. echo "alllist1:$@"
  33. echo "alllist2:$*"
  34. 保存退出
  35. 赋予脚本执行权限
  36. # chmod +x variable
  37. 执行脚本
  38. [root@localhost ~]# ./variable aa bb cc dd
  39. number:4
  40. vname:./variable
  41. first:aa
  42. second:bb
  43. shellpid:2925
  44. pgpid:
  45. fanhui:0
  46. alllist1:aa bb cc dd
  47. alllist2:aa bb cc dd
  48. 通过显示结果可以看到:
  49. $# 是传给脚本的参数个数
  50. $0 是脚本本身的名字
  51. $1是传递给该shell脚本的第一个参数
  52. $2是传递给该shell脚本的第二个参数
  53. $$Shell本身的PID(ProcessID)
  54. $!Shell最后运行的后台Process的PID
  55. $?最后运行的命令的结束代码(返回值)
  56. $@ 和$*是传给脚本的所有参数的列表

阅读(1368) | 评论(0) | 转发(0) |
0

上一篇:sed的使用

下一篇:awk的使用

给主人留下些什么吧!~~