变量赋值和替换
?
?
#!/bin/bash
a=28
hello=$a
echo hello
echo $hello
echo ${hello}
echo "$hello"
echo "${hello}"
echo
hello="a b? c? d"
echo $hello
echo "$hello"
echo '$hello'
echo
hello=
echo "\hello(null value)=$hello"
exit 0
输出结果
可以得出几个东西
变量赋值和替换是
a=28??? #变量赋值
hello=$a?? #变量替换
echo $hello和echo ${hello}和echo "$hello"和echo "${hello}"在某种情况下是一样的
hello="a b? c? d"
echo $hello
echo "$hello"
echo '$hello'
可见用
echo "$hello"的话保留空白,如果是echo $hello的话就不保留了
‘’单引号不能引用变量
测试加双引号和不加双引号的区别
#!/bin/bash
a=`ls -l`
echo $a
echo
echo "$a"
exit
把ls -l的结果赋予变量a
看结果
还有一点
使用$(...)机制进行的变量赋值(除去使用``来赋值的另外一种新方法).事实上这两种方法都是
命令替换的一种形式.
#!/bin/bash
a=$(ls -l)
echo "$a"
echo
echo
b=`ls -l`
echo "$b"
写了个简单的测试脚本,上面是变量赋值的两种方法
还要一个要注意,使用echo输出的时候记得要双引号,不然出现上面不保留空格的情况