
shell编程中使用的if语句中的判断参数
[– b文件]当文件存在且为阻止文件时返回true
-c如果文件存在并且是字符文件,则返回true
-d如果路径名存在并且是目录,则返回true
#这里的-d参数确定$ myPath是否存在
如果[! -d“ $ myPath”];然后
mkdir“ $ myPath”
fi
-e如果存在由路径名指定的文件或目录,则返回true
-f在文件存在且为常规文件时返回true
#此处-f参数确定$ myFile是否存在
如果[! -f“ $ myFile”];然后
触摸“ $ myFile”
fi
-g当存在由路径名指定的文件或目录并且设置了SGID位时,返回true.
-h当文件存在并且是符号链接文件时,返回true. 此选项在某些较旧的系统上无效.
-k当存在由路径名指定的文件或目录并且设置了“粘性”位时,返回true
-p当文件存在并且是命令管道时返回true

-r如果路径名指定的文件或目录存在并且可读,则返回true
-s如果文件大小大于0,则返回true.
-u当存在由路径名指定的文件或目录并且设置了SUID位时,返回true
-w如果路径名指定的文件或目录存在并且可执行,则返回true. 目录必须是可执行的,才能访问其内容.
-o当由路径名指定的文件或目录存在并且由子级当前进程的有效用户ID指定的用户拥有时linux shell if语句,返回true.
UNIX Shell中字符书写的比较:
-eq等于
-ne不等于
-gt大于
-lt小于
-le小于或等于
-ge大于或等于
-z空字符串
=两个字符相等
! =两个字符不相等
-n非空字符串
--------------------------------------------------- --------------------------
更详细的说明:
![]()
操作员描述示例
文件比较运算符
-e filename如果文件名存在[-e / var / log / syslog]linux shell if语句,则为true
-d filename如果filename是目录[-d / tmp / mydir]
,则为true
-f filename如果文件名是常规文件[-f / usr / bin / grep],则为true
-L filename如果文件名是符号链接[-L / usr / bin / grep],则为true
-r filename如果文件名可读[-r / var / log / syslog],则为true
-w filename如果文件名可写[-w /var/mytmp.txt],则为true
-x filename如果文件名可执行[-L / usr / bin / grep],则为true
文件名1 -nt文件名2如果文件名1比文件名2更新[/ tmp / install / etc / services -nt / etc / services]
filename1 -ot filename2如果filename1早于filename2 [/ boot / bzImage -ot arch / i386 / boot / bzImage]
字符串比较运算符(请注意使用引号,这是防止空格与代码混淆的好方法)
-z字符串如果字符串长度为零[-z $ myvar]
-n string如果字符串长度不为零,则为true [-n $ myvar]
string1 = string2,如果string1与string2相同[$ myvar =一二三]
string1! = string2如果string1和string2不同[$ myvar! =一二三]
算术比较运算符

num1 -eq num2等于[3 -eq $ mynum]
num1 -ne num2不等于[3 -ne $ mynum]
num1 -lt num2小于[3 -lt $ mynum]
num1 -le num2小于或等于[3 -le $ mynum]
num1 -gt num2大于[3 -gt $ mynum]
num1 -ge num2大于或等于[3 -ge $ mynum]
脚本示例:
#! / bin / bash
#如果您愿意的话,此脚本将显示一条有关体重的信息
#千克重,厘米高.
如果[! $#== 2];然后
回声“用法: $ 0 weight_in_kilos length_in_centimeters”
退出
fi
weight =“ $ 1”
height =“ $ 2”
理想体重= $ [$ height-110]
如果[$体重-le $理想体重];然后

回声“你应该多吃一些脂肪. ”
其他
回声“你应该多吃些水果. ”
fi
#weight.sh 70150
您应该多吃些水果.
#weight.sh 70 150 33
用法: ./ weight.sh weight_in_kilos length_in_centimeters
位置参数$ 1,$ 2,...,$ N,$#代表命令行上的参数数量,$ 0代表脚本名称,
第一个参数代表$ 1,第二个参数代表$ 2,依此类推. 参数总数存储在$#中. 上面的示例显示了如何更改脚本. 如果参数少于或大于2,则将其打印出来. 一条消息.
去检查情况.
#bash -x tijian.sh 60170
+体重= 60
+身高= 170
+ Idealweight = 60
+'['60 -le 60']'
+ echo'你应该多吃些脂肪. '
你应该多吃一些脂肪.
-x用于检查脚本的执行情况.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-150910-1.html
最后面的那个手势和表情
怎么评论一个个都这么有节操了
把南海变成水雷海