ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SHELL--变量说明

SHELL--变量说明

原创 Linux操作系统 作者:oracle_db 时间:2012-04-17 12:56:19 0 删除 编辑
目 的:回顾总结SHELL中变量方便查阅
SHELL中变量大体上为为以下几种--本地变量,环境变量,变量替换(显示变量),位置变量,标准变量,特殊变量,影响变量的命令。

相应说明:

1.本地变量:本地变量在用户当前SHELL生命周期中使用【你登录的当前的SHELL会话也就是你的SHELL生命周期】,SET命令可以显示本地所有的变量,设置就是变量名=值。如果会话退出,重新登录进来你会发现你设置的变量没有了。如:
变量也可以设置为只读,只读就是不能对变量做修改了,如:
这时候修改就会出现错误信息,我们可以用readonly命令来查看当前的只读变量。

2.环境变量。环境变量是用于所有用户的进程【经常称为子进程】。登录进程称为父进程。SHELL中执行的用户进程均称为子进程。本地变量只是用于本地SHELL的进程。环境变量可用于所有子进程,包括编辑器,脚本和应用。设置当前用户的环境变量可以在$HOME/.bash_provile中设置,如果要对所有用户的环境变量都设置就要在/etc/profile中设置。环境变量是通过export来设置的,如:cat /etc/profile

当然我们可以自己设置环境变量,如:export var3="value3".可以通过命令env或者 export查看环境变量,如:
同样也可以通过readonly设置环境变量为只读,这时就不能对它修改了
3.变量替换--变量替换就是用变量的值替换它的名字,替换方法1.ECHO2.在变量名前加$,可以显示单个变量取值.还有一些其它的变量替换的方式。如:
${变量名}==显示变量值
${变量名:+value}==如果设置了变量名则显示其值VALUE,否则为空
${变量名:?值}==如果末设置变量名,则显示用户定义的错误信息value
${变量名:-value}==如果没有设置变量名,显示VALUE值
${变量名:=value}==如果没有设置变量名,设置它,并显示值
共6种变量替换的方式。
4.变量清除
用命令unset 就可以清掉变量了。如


如果变量是readonly的话,那么是不能取消的

5.位置变量
shell中的位置变量有10个目前。$0....$9.作用是在脚本中使用位置参数,向操作系统传递参数。$0--代表脚本名字,其它的就要看具体脚本中的参数,如果脚本中的第一个参数是A那么$1=A.如:


向系统中传递参数,如:查找指定目录是否有位置变量中指定的文件

6.标准变量
bash默认建立了一些标准环境变量,可在/etc/profile中定义.如HOME,IFS【这是个分割符号】,LOGNAME,MAIL,MAILCHECK,EXINIT等。


如TERM==表示终端类型。PATH==可执行文件寻找路径.TZ==表示时区,PS1==用户提示信息格式,如:[root@oraclelinux shtest]#.PS2==一行上面有多个命令时要用到PS2.PWD==代表当前目录。SHELL==代表当前SHELL是那一种类型

7.特殊变量
$#==传递到脚本的参数个数
$*==
$$==脚本运行的当前进程ID号
$@==这个与$#相同使用时加单引号
$-==显示SHELL使用的当前选项
$?显示命令的退出状态。
8.影响变量的命令
declare,exoort,
shift[用于移动位置变量],
typeset用于显示或者设置变量是declare同义词
UNSET.如:


如果是shift2 就是在移动两个位置。






























1.JPG

2.JPG

3.JPG

4.JPG

5.JPG

6.JPG

7.JPG

a.JPG

b.JPG

c.JPG

d.JPG

e.JPG

f.JPG

g.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15720542/viewspace-721422/,如需转载,请注明出处,否则将追究法律责任。

下一篇: SHELL-引号说明
请登录后发表评论 登录
全部评论

注册时间:2008-11-13

  • 博文量
    158
  • 访问量
    305918