1、整数值比较
格式:[整数1 操作符 整数2]
常用测试操作符:
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于
who |wc -l:显示当前登陆用户人数
df -Th查看系统当前挂载的分区
df -Th |grep 'boot' |awk '{print $6}'(在boot盘中输出第六列的内容)
df -Th |grep 'boot' |awk '{print $6}' |cut -d '%' -f1(在boot盘中输出第六列,以%分割显示第一部分内容)
awk表示在一个有行和列的文件中定位特定的位置
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
dd if=/dev/zero of=file1.txt bs=1M count=100
2、字符串比较
read -p 'name:' name
read -p 'pass:' pass
注意后面变量和前面语句之间的空格
格式:
[字符串1 = 字符串2]
[字符串1 != 字符串2]
[-z 字符串]
常用的测试操作符
=:字符串内容相同
!=:字符串内容不同,!表示相反的意思
-z:字符串内容为空
if [ $name = 'admin' ] && [ $pass = '123' ]
then
echo '登陆成功!'
else
echo '登陆失败!'
fi
注意if语句各符号之间的空格
3、逻辑测试
格式:[表达式1] 操作符 [表达式2] ...
常用测试操作符:
-a或&&:逻辑与,“并且”的意思
前后两个表达式都成立时整个测试结果才为真,否则为假
-o或||:逻辑或,“或者”的意思
操作符两边至少一个为真时,结果为真,否则结果为假
!:逻辑否
当指定的条件不成立时,返回结果为真
将其他两个类型的表达式通过逻辑符号连接在一起从而完成更加复杂的操作
if条件语句--多分支
score=87
if[ $score -lt 60 ];then
echo '60以下!'
elif [ $score -lt 70 ];then
echo '60-70!'
elif [ $score -lt 80 ];then
echo '70-80!'
elif [ $score -lt 90 ];then
echo '80-90!'
else
echo '90以上!'
fi