高级Bash编程指南__第二部分__基本__4.0变量和参数的介绍

4.0 变量和参数的介绍
1.0 变量的声明不能出现空格;
2.0 被一对双引号(" ")括起来的变量替换是不会被阻止的,所以双引号被称为部分引用,又叫弱引用;如果被一对单引号(' '),那么变量替换就被阻止了,变量名只会被解释成字面的意思,不会发生变量替换,所以单引号又称为全引用,或者强引用;

# hello="A B C D"
# echo $hello #变量替换则不会保留其中的空白
A B C D
# echo "$hello" #变量引用将保留其中的空白
A B C D
# echo "${hello}"
A B C D
# echo '$hello' #强引用,只能显示字面意思
$hello


3.0 可以在同一行上设置多个变量,但是必须以空白进行分割(这种方式会降低可读性,并且不可移植)
# var1=1 var2=2 var3=3
# echo "var1=$var1 var=$var2 var3=$var3"
var1=1 var=2 var3=3

如果在变量中存在空白,则必须加上引用,或者采用将空白转义的方法。
# mixed_bag=2\ ---\ Whatever
# echo $mixed_bag
2 --- Whatever

# echo $mixed_bag
2 --- Whatever
# unset mixed_bag #设置这个变量的值为空
# echo $mixed_bag

#

注意:
* 一个未初始化的变量是没有值的,但在做算术操作的时候,这个未初始化的变量看起来是0;

# echo "$uninitialized" #未定义的变量初始值为空

# let "uninitialized += 5" #对未定义的变量进行算术运算
# echo "$uninitialized"
5
#

4.0 赋值 "="
1.0 使用read进行赋值
#!/bin/bash
echo -n "Enter \"a\" "
read a
echo "The value of \"a\" is now $a "
echo

exit 0

2.0 复杂一点的赋值
# a=`echo hello`
# echo $a
hello
# a=`ls -l`
# echo "${a}"
total 8
-rwxr-xr-x 1 root root 43 Oct 16 23:26 201.sh
-rwxr-xr-x 1 root root 93 Oct 18 10:58 401.sh

3.0 使用$(...)机制进行变量赋值
# arch=$(uname -m)
# echo $arch
x86_64
#

5.0 Bash变量是不区分类型的
6.0 从命令行传递到脚本的参数: $0, $1 ... $9, ${10}, ${11}
$9之后的参数必须用大括号括起来
$* 和 $@表示所有的位置参数


@dianxinguangchang.43F.zhongshanerlu.yuexiuqu.guangzhoushi.guangdongsheng

2016-10-18 15:16
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值