<转+精简> linux 变量和返回值
作者:admin 发布时间:July 15, 2011 分类:DELL1520
1.什么是变量?
这个就不用废话了,shell中的变量跟其他高级语言中的变量概念是一样的。
2.shell中变量的类型?
shell中的变量类型有:本地变量、环境变量、位置变量、标准变量、特殊变量。
2.1.本地变量在shell脚本的生存周期中使用的变量(也就是登录一个shell到退出,这个shell为生存周期)设置一个本地变量格式为:变量名=变量,显示一个变量:echo ${变量名}也可以不要大括号,显示本地所有变量:set就可以,本地变量还可以设置为只读的:readonly 变量名,这时的变量就具有只读属性,如果在shell下运行命令readonly,就会显示当前环境下所有的只读变量。
2.2.环境变量用于所有的用户进程(也就shell下所有的子进程),这个就有点像windows中的环境变量了(系统–>高级–>环境变量),环境变量一般保存在$HOME/.bash_profile和/etc/profile中,前者是只适用于当前用户,后者适用于所有用户设置一个环境变量用export,比喻我们这里设置一个环境变量:export pagename=”ghostwwl”这样就设置了一个叫做pagename的环境变量,我们可以通过env这个命令来查看,还有就是可以直接通过运行export来查看。
2.3.位置变量也就相当于程序中的参数(也就相当于C中的argv),在shell中位置变量一般允许$0-$9一共10个,超过10个的,嘿嘿就必须使用其他方式了。很显然这里$0就是脚本的名字了,从$1开始就是后面的参数了。说白了也就是那个argv了。
参考文献:http://club.topsage.com/thread-195915-1-1.html
shell特殊字符的含义
符号
含义
$
shell变量名的开始,如$var
$-
使用set及执行时传递给shell的标志位
$!
最有一个子进程的PID
$#
传递给shell script的参数个数
$*
传递给shell script的参数
$@
所有参数,个别的用双引号括起来
$?
上一个命令的返回代码
$0
当前shell的名字
$n
(n:1-)位置参数
$$
进程标示号(Process Identifier Number,PID)
|
管道,讲标准输出转到下一个命令的标准输入
&
后台执行一个进程
>file
输出重定向
>>file
输出重定向,追加(append)
`command`
命令切换,如filename=`basename /usr/local/bin/tcsh`
原文地址 http://www.51testing.com/?uid-266868-action-viewspace-itemid-231885
评论已关闭