1.5 if逻辑判断
在shell中数学运算符的表示方式:
> 表示方式:-gt
< 表示方式:-lt
== 表示方式:-eq
!= 表示方式:-ne
>= 表示方式:-ge
<= 表示方式:-le
例如1:
#vim if1.sh
#!/bin/bash
a=5
if [ $a -gt 3 ]
then
echo "a>3"
fi
保存退出;
#sh -x if1.sh
例如2:
#vim if2.sh
#!/bin/bash
a=5
if [ $a -gt 10 ]
then
echo "a>10"
else
echo "a<=10
fi
保存退出;
#sh -x if2.sh
例如3:
#vim if3.sh
#!/bin/bash
a=5
if [ $a -gt 10 ]
then
echo "a>10"
elif [ $a -lt 4]
then
echo "a<4"
else
echo "4<a<10"
fi
保存退出;
#sh -x if3.sh
观察着三个例子,掌握if的使用格式:
if elif else fi
1.6 if判断的几种用法
针对文件,变量,目录 的判断使用。
针对文件的有选项:
#if [ -f 1.txt ];then echo ok; fi 判断是否是一个文件
#if [ -d /tmp/ ];then echo ok; fi 判断是否是一个目录
#if [ -r 1.txt ];then echo ok; fi 判断是否可读
#if [ -w 1.txt ];then echo ok; fi 判断是否可写
#if [ -x 1.txt ];then echo ok; fi 判断是否可执行
#if [ -b 1.txt ];then echo ok; fi
#if [ -s 1.txt ];then echo ok; fi
vim sed.sh
#!/bin/bash
#让用户输入的信息只能显示数字,如果不是数字提示用户输入的信息不是纯数字
read -p "Please input a number:" n
## 这里使用了一个``反引号,是将一条命令的结果附值给一个变量
## s/[0-9]//g 表示将0-9的数字替换为空
m=`echo $n|sed 's/[0-9]//g'`
## -n 表示变量是否不为空,-z表示变量是否为空
if [ -n "$m" ]
then
echo "The character you input is not a number,please retry."
else
echo $n
fi
检验是否存在某个用户:如aming用户:
#grep '^aming:' /etc/passwd //grep 可以查看
#if grep -q '^aming:' /etc/passwd; then echo "aming exist." ; fi //-q 是不让if输出结果,只做判断。
-a
-o
编辑回复