Chinaunix首页 | 论坛 | 博客
  • 博客访问: 890759
  • 博文数量: 139
  • 博客积分: 10016
  • 博客等级: 上将
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-31 02:15
文章存档

2008年(19)

2007年(73)

2006年(46)

2005年(1)

我的朋友

分类:

2006-11-15 21:25:11

shell变量的基础知识
bash中的内置变量均为大写,自定义变量的语法有些类似于别名的语法:varname=value
在等号两边必须没有空格,如果变量的值多于一个单词就必须用引号括起来,使用变量要在前面加$,这和php一样。
可以使用unset varname删除变量
有些符号,例如$和引号等等,可以通过\进行转义,这样shell就不会解释它。
例如要打印符号:$,   就可以用echo "\$"
单引号和双引号的一个重要区别:双引号中的特殊字符会被解释,而但引号不会。
如果要打印:$,也可以使用echo '$'
如果要打印变量例如要打印变量var1,此时必须使用echo "$var1",而不能使用echo '$var1'
shell的内置变量
这里主要是几个与编程有关的变量:
最重要的特定内置变量是位置参数。当脚本被调用时,脚本的命令行参数依次保存在$1,$2,$3等变量中,还有一个变量$0,保存脚本的名称。
参数的总数目保存在变量$#中
还有两个特殊变量$*和$@,$*是包含所有参数的单一字符串,由环境变量IFS(内部域分割符)中第一个字符分隔。IFS默认为空格、TAB和NEWLINE。$@等价于"$1""$2""$3"…"$N",其中N是位置参数的数目,等价于N个单独的有空格分隔的双引号字符串。
函数内变量
一般一个shell脚本都要包含几个函数,每个函数都要处理自己的参数,这表明每个函数都要跟踪位置参数,每个函数都有位置参数的副本,这些变量对函数是局部的。但是其他在函数内定义的变量则不是局部的,而是全局的,如果需要定义函数内的局部变量,可以使用local语句来定义。
阅读(1942) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~