变量赋值和引用

=== 变量赋值和引用  ===

Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则: 

#首个字符必须为字母(a-z,A-Z) 
#中间不能有空格,可以使用下划线(_) 
#不能使用标点符号 
#不能使用bash里的关键字(可用help命令查看保留关键字)

需要给变量赋值时,可以这么写: 

 变量名=值 

要取用一个变量的值,只需在变量名前面加一个$
( 注意: 给变量赋值的时候,不能在"="两边留空格 ) 

 #!/bin/sh
 # 对变量赋值:
 a="hello world"  #等号两边均不能有空格存在
 # 打印变量a的值:
 echo "A is:" $a
 

挑个自己喜欢的编辑器,输入上述内容,并保存为文件first,然后执行 chmod +x first 使其可执行,最后输入 ./first 执行该脚本。其输出结果如下:  

 A is: hello world
 

有时候变量名可能会和其它文字混淆,比如: 

 num=2
 echo "this is the $numnd"
 

上述脚本并不会输出"this is the 2nd"而是"this is the ";这是由于shell会去搜索变量numnd的值,而实际上这个变量此时并没有值。这时,我们可以用花括号来告诉shell要打印的是num变量: 
 num=2
 echo "this is the ${num}nd"
 

其输出结果为:this is the 2nd 


注意花括号的位置:
 num=2
 echo "this is the {$num}nd"
 

其输出结果为:this is the {2}nd 


需要注意shell的默认赋值是字符串赋值。比如:

 var=1
 var=$var+1
 echo $var

打印出来的不是2而是1+1。为了达到我们想要的效果有以下几种表达方式:
 let "var+=1"
 var=$[$var+1]    
 var=`expr $var + 1`#注意加号两边的空格,否则还是按照字符串的方式赋值。

注意:前两种方式在bash下有效,在sh下会出错。

let表示数学运算,expr用于整数值运算,每一项用空格隔开,$[]将中括号内的表达式作为数学运算先计算结果再输出。

Shell脚本中有许多变量是系统自动设定的,我们将在用到这些变量时再作说明。除了只在脚本内有效的普通shell变量外,还有环境变量,即那些由export关键字处理过的变量。本文不讨论环境变量,因为它们一般只在登录脚本中用到。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值