在shell,变量没有类型,也不需要在使用之前先声明,直接赋值就可以了。在shell中,变量的值都是字符串,不管你在赋值时使用采用了引号。
变量可以使用'='号来赋值,用法如下:
var=value
var是变量名,value是变量的值,如果value中包含了空白字符(例如空格),那么value必须使用引号(单引号或双引号)来引用,如果没有,则可以省略引号。
注意:var = value不同于var=value,把var=value写成var = value是一种常见的错误,前者是赋值操作,而后者是相等操作。
那如何使用变量呢?引用变量的值使用符号'$',例如:
#!/bin/bash
var="value"
echo $var #or echo ${var}
注意,在引用变量时,花括号是可选的,加上花括号是为了限定变量和普通字符串,例如:
#!/bin/bash
var="value"
echo $varAAA
这样子变量会识别成名varAAA的变量,所以需要加上花括号,echo ${var}AAA。
1. 获取字符串的长度
#!/bin/bash
var=12345678901234567890
length=${#var}
echo $length
使用${#var}就可以得到字符串的长度。
2. 识别当前的shell版本
使用
echo $SHELL
或
echo $0
得到以下输出结果:
/bin/bash
或
bash
3. 检查是否为root用户
可以使用UID环境变量来完成,例如:
#!/bin/bash
if [ $UID -ne 0 ]; then
echo Non root user. Please run as root.
else
echo "Root user"
fi
注意:root用的UID为0。
参考书:Linux Shell Scripting Cookbook