无题
表达式与运算符
1.1 基本算术运算
!/bin/bash |
1.2 逻辑运算
!/bin/bash |
更改后的代码如下:
!/bin/bash |
1.3 字符串运算
expr命令除了进行算术和逻辑运算之外,还可以进行字符串的操作,如下图所示。
【试一试】请查阅资料,给出三个不同示例完成两个字符串的运算,写入实验报告,注意截图。
2.1 求值
a=1
b=01
c=2
2.1.1
test $a = $b
echo $?
结果为1
因为比较的是字符串,1和01字符串不一致
2.1.2
test $a -eq $b
echo $?
结果是0
因为-eq比较的是数值,因此,1和01相同
2.1.3
test $a -lt $c
echo $?
结果是0
因为-lt比较的是数值,a是1,c是2,1<2。
2.1.4
test -n $a
echo $?
结果为0
因为-n检测变量是否为非空,这里a有值,因此结果为0。
2.1.5
test -z $a
echo $?
结果为1
因为-z检测变量是否为空,这里a有值,因此结果为1。
2.1.6
test -n $f
echo $?
结果为1
因为-n检测变量是否为非空,这里f未定义,因此结果为1。
2.1.7
test -z $f
echo $?
结果为0
因为-n检测变量是否为空,这里f未定义,因此结果为0。
2.2.2 判断 /dev/sda 磁盘是否是块设备,是块设备则为真。
if [ -b /dev/sda ]; then
echo 1
else
echo 0
fi
结果为0,即/dev/sda 磁不是块设备。
2.2.3 判断变量 a 的值是否在 18 到 28 之间(含18和28)。
a=20
if [ $a -ge 18 ] && [ $a -le 28 ]; then
echo 1
else
echo 0
fi
2.2.4 判断文件是否是空文件,是空文件则为真。
if [ ! -s wenjianming ]; then
echo 1
else
echo 0
fi
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 一只末影酱的小屋!