首页 > 代码库 > Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
我们先写一个简单的脚本,执行以后再解释各个变量的意义
脚本内容如下:
[root@oldboy ~]# cat test.txt #!/bin/bash echo "number:$#" echo "scname:$0" echo "first :$1" echo "second:$2" echo "argume:$@" echo "show parm list:$*" echo "show process id:$$" echo "show precomm stat: $?"
保存退出
执行脚本
[root@oldboy ~]# sh test.txt a b number:2 scname:test.txt first :a second:b argume:a b show parm list:a b show process id:1283 show precomm stat: 0
通过显示结果可以看到:
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
本文出自 “陈荣华的linux运维之路” 博客,请务必保留此出处http://ronghuachen.blog.51cto.com/10543403/1857212
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。