前言
简单记录一下shell脚本if中的-e的作用。
记录于此,方便自己查阅。
正文
-e使用
-e filename 如果 filename存在,则为真
来个简单的例子
#!/bin/bash if [ -e /proc/cpuinfo ];then echo "存在" else echo "不存在" fi
由于/proc/cpuinfo是存在的,也就是返回【存在】
如果提示
-bash: ./temp.sh: /bin/bash^M: bad interpreter: No such file or directory
看《
扩展
除了-e还有其它的表达式
文件表达式
-e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真 -s filename 如果文件长度不为0,则为真 -h filename 如果文件是软链接,则为真 filename1 -nt filename2 如果 filename1比 filename2新,则为真。 filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
整数变量表达式
-eq 等于 -ne 不等于 -gt 大于 -ge 大于等于 -lt 小于 -le 小于等于
字符串变量表达式
If [ $a = $b ] 如果a等于b,则为真。字符串允许使用赋值号做等号 if [ $string1 != $string2 ] 如果string1不等于string2,则为真 if [ -n $string ] 如果string 非空(非0),返回0(true) if [ -z $string ] 如果string 为空,则为真 if [ $sting ] 如果string 非空,返回0 (和-n类似)
逻辑非 !
条件表达式的相反
if [ ! 表达式 ]
#!/bin/bash if [ ! -d /proc/ ];then echo "不存在" else echo "存在" fi
逻辑与 –a
条件表达式的并列
if [ 表达式1 –a 表达式2 ];then echo "1" else echo "2" fi
两个条件都满足才会输出1
逻辑或 -o
条件表达式的或
if [ 表达式1 –o 表达式2 ];then echo "1" else echo "2" fi
之有有一个条件存在就回输出1
参考文件
《》
《》
© 版权声明