阅 读 文 章

Linux 编程之Bash中的变量

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]

  1.用户定义的变量

  用户定义的变量有字母数字及下划线组成,并且变量名的第一个字符不能为数字.

  与其它UNIX名字一样,变量名是大小写敏感的.

  对于变量,用户可按如下方式赋值:

  name = value

  在引用变量时,需在前面加$符号,用户也可以在变量间进行相互赋值,如:

  (前面的$是命令提示符)

  $ JOHN = john

  $ NAME = $JOHN

  $ echo Hello $NAME

  Hello john

  也可以用变量和其他字符组成新的字,这时可能需要把变量用{}括起,如:

  $ SAT = Satur

  $ echo Today is ${SAT}day

  Today is Saturday

  对于未赋值的变量,Bash以空值对待,用户也可以用unset命令清除给变量

  赋的值.

  Bash中还可以使用数组变量,其赋值有两种:

  (1) name[index] = value

  (2) name = (value1 ... valuen) 此时下标从0开始

  数组下标的范围没有任何限制,同时也不必使用连续的分量.

  Bash中关于变量的内建命令有:

  (1) declare和typeset.两者具有一样的功能.其选项有:

  [-/ ]a 设置/撤消变量的数组属性

  [-/ ]i 设置/撤消变量的整数属性

  [-/ ]r 设置/撤消变量的只读属性

  [-/ ]x 设置/撤消变量的输出属性

  -p var 显示变量属性

  (2) export和local.

  export把变量输出到环境中,用法为:

  export name

  export name = value

  这里需要简单介绍一下export的作用:当Bash shell执行一个

  程序时,将首先为该程序建立一个新的执行环境,称为子shell,

  在Bash Shell中变量都是局部的,即它们只是在创建它们的子

  Shell中是有意义的,使用export后,变量被设置为全局变量,这

  时可以被其它子Shell所识别

  local标记变量为局部的(如只能被函数内部使用),用法为:

  local name

  local name = value

  (3) readonly.

  指定变量为只读,执行后,改变量不能被再次赋值,用法为:

  readonly name

  2.位置变量或Shell参数

  Bash Shell在解释用户命令时,将把命令行的第一个子作为命令,而其它字作为

  参数通过位置变量传递给程序.$1,...,$9分别代表第一,...,九个参数.其中1-9

  是真正的参数名,"$"符只是用来标识变量的替换.

  位置变量$0指命令对应的可执行名.

  其它的还有:

  $# 送给命令的参数个数

  $@ 所有的参数,每个用双括号括起

  $* 所有的参数,用双括号括起

  3.与Shell有关的变量

  (1) Shell自身设置的一些常用变量:

  LINENO 正在执行的命令在脚本中的行号

  PWD 用户当前目录的全名

  OLDPWD 最近一次执行cd之前,用户当前目录的全名

  PPID 父进程ID

  $ 当前进程ID

  RANDOM 随机数(范围0-32767)

  SECONDS Bash Shell的运行时间,单位是秒

  REPLY select和read命令使用,以后会讲到

  OPTARG

  ORTIND 这两个变量由getopt命令设置

  UID 当前用户的User ID

  _ 上一条命令使用的最后一个参数

  (2) 影响Shell行为的一些常用环境变量:

  PATH 命令搜索路径,以冒号为分隔符.注意与DOS下不同的是,

  当前目录不在系统路径里

  HOME 用户home目录的路径名,是cd命令的默认参数

  COLUMNS 定义了命令编辑模式下可使用命令行的长度

  EDITOR 默认的行编辑器

  VISUAL 默认的可视编辑器

论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 变量 编程 命令 用户 Shell 使用 文件 SHELL name 执行

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.