Linux Shell编程(7)——变量赋值

=
赋值操作符(它的左右两边不能有空白符)



不要搞混了=和-eq,-eq是比赋值操作更高级的测试。


注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符。


例子:简单的变量赋值


#!/bin/bash
# 裸变量


echo


# 什么时候变量是“裸”的?比如说,变量名前面没有$?
#当变量被赋值而不是引用时,我们称它为是裸变量。


# 赋值
a=879
echo "The value of \"a\" is $a."


# 用命令'let'赋值。
let a=16+5
echo "The value of \"a\" is now $a."


echo


# 在一个for循环里赋值(其实,这是一种伪赋值):
echo -n "Values of \"a\" in the loop are: "
for a in 7 8 9 11
do
  echo -n "$a "
done


echo
echo


# 用'read'命令 (这也是一种赋值):
echo -n "Enter \"a\" "
read a
echo "The value of \"a\" is now $a."


echo


exit 0


  
例子简单且奇特的变量赋值

#!/bin/bash


a=23              # 简单的情况
echo $a
b=$a
echo $b


# 现在,来一点奇怪的赋值(命令替换)


a=`echo Hello!`   # 把'echo'命令的结果赋值给变量'a'
echo $a
#  注意在一个#+的命令替换结构中包含一个感叹号(!),
#+ 将不会工作。
#+ 因为感叹号触发了Bash"历史命令机制"
#  不过,在脚本里,历史命令机制是被禁用的.


a=`ls -l`         # 把'ls -l'命令的结果赋给变量'a'
echo $a           # 如果没有引号,则会删除多余tab键和空白符
echo
echo "$a"         # 加了双引号,则能够原样保留空白符
                  # (参考"引用"章节)


exit 0



变量赋值也可以使用$(...) 机制(它是比斜引号更新的方法). 它实际是命令替换的一种形式.

转载于:https://www.cnblogs.com/new0801/p/6176874.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值