Bash脚本之变量的使用

本博客已迁往http://coredumper.cn


设置变量:name=变量内容


注意:
1. 等号两边不能接空格符
2. 若变量内容含有空格符,则使用双引号或者单引号将变量内容引起来。但两种方式是有区别的,双引号内的特殊字符将会保持原有特性,单引号内的特殊字符仅为一般字符(所见即所得)。为了避免混淆,建议不要使用单引号,可以用转义字符\配合双引号来代替单引号的功能。下面举例说明:
var="path is $LANG"
echo $var
结果为path is en_US.UTF-8
var='path is $LANG'
echo $var
结果为path is $LANG
3. 变量内容中的特殊字符可以用\进行转义,下面的例子将$、双引号、单引号和空格符进行了转义
name=a\$b\"c\'d\ e
echo $name
结果为a$b"c'd e
注意:在变量内容中需要进行转义处理的特殊字符:\、$、单引号、双引号、反单引号、空格符
4. 变量内容可以是某个命令提供的信息,格式为name=$(命令) 或者name=`命令`(注意这里是反单引号)
5. 变量类型默认为字符串,如果需要使用数字类型的变量,可以用declare -i声明。bash提供的数值运算符有+、-、*、/、%,而且只支持整数运算。下面举例说明:
declare -i name=10+20
echo $name
结果为30
另外,也可以用如下形式进行数值运算:
name=$[ 10 + 20 ]



使用变量:$name或者${name}

注意:当变量的值是包含空格符的字符串时,尽量用"$name"这种方式进行引用。

如果直接使用一个从未设置过内容的变量,则变量内容默认为空字符串。




将自定义变量设置为环境变量:export name
注意:子进程只能继承父进程的环境变量,而不会继承父进程的自定义变量。



取消变量:unset name



建议:
所有的变量内容都用双引号引起来
使用变量时使用${name}这种形式

你可能感兴趣的:(Unix/Linux)