壳牌支架使用总结
外壳内的支架(包括单支架和双支架)可用于测试某些条件:
算术比较,例如变量是否为0,[ $var -eq 0]。
属性测试,如文件是否存在,[-e $var],是否是目录,[-d $var]。
字符串比较,例如两个字符串是否相同,[[ $var1=$var2 ]]。
[]您可以经常使用test命令。
算术比较
变量或值的算术条件判断:
[$var -eq 0] #当$var等于0时返回true。
[$var -ne 0] #当$var不等于0时返回true。
需要注意的是,[and]和操作数之间必须有空格,否则会报错。例如,下面将报告错误:
[$var -eq 0]或[$var -ne 0]
其他比较运算符:
操作员
意义
-gt
比.多/大
-中尉
不到
通用电气
大于或等于
表示器具名称:bridle thimble
小于或等于
您可以结合多种条件使用-a(和)或-o(或)进行测试:
[$var1 -ne 0 -a $var2 -gt 2] #使用逻辑和-a
[$var1 -ne 0 -o $var2 -gt 2] #使用逻辑or -o
文件系统属性测试
使用不同的条件标志测试不同的文件系统属性。
操作员
意义
[ -f $file_var ]
如果变量$file_var是正常的文件路径或文件名,则该变量返回true。
[ -x $var ]
变量$var包含一个执行文件,该文件返回true。
[ -d $var ]
如果变量$var包含的文件是目录,则该变量返回true。
[ -e $var ]
如果变量$var包含的文件存在,则该变量返回true。
[ -c $var ]
变量$var包含一个文件,该文件是字符设备文件的路径,并返回true。
[ -b $var ]
如果变量$var中包含的文件是块设备文件的路径,则返回true。
[ -w $var ]
变量$var包含一个可以写的文件,然后返回true。
[ -r $var ]
变量$var包含一个可读的文件,然后返回true。
[ -L $var ]
如果变量$var包含符号链接,则返回true。
使用如下:
fpath='/etc/passwd '
if[-e $ fpath];然后
回声文件退出;
其他
回声不存在;
船方不负担装货费用
字符串比较
比较字符串时,最好使用双括号[[]]。因为单个括号可能会导致一些错误,所以最好避免它们。检查两个字符串是否相同:
[[ $str1=$str2 ]]
当str1等于str1等于str2时返回true。也就是说,str1和str2包含相同的文本。的单等号也可以写成双等号,也就是说上面的字符串相当于[[$ str1=$ str2]]。注=前后各有一个空格。如果您忘记添加空格,它将变成赋值语句,而不是比较关系。
字符串的其他比较:
操作员
意义
[[ $str1!=$str2 ]]
如果str1和str2不相同,则返回true。
[[ -z $str1 ]]
如果str1是空字符串,则为True。
[[ -n $str1 ]]
如果str1是非空字符串,则为True。
使用逻辑运算符和|||可以轻松组合多个条件,例如:
str1='非空'
str2=' '
if[[-n $ str 1]][-z $ str 2]];
然后
echo str1是非空的,str2是空字符串。
船方不负担装货费用
测试命令也不能执行条件检测。使用test可以避免使用过多的括号,[]中的测试条件也可以通过test来完成。
if[$ var-eq 0];然后呼应“真”;船方不负担装货费用
相当于:
if测试$ var-eq 0;然后呼应“真”;船方不负担装货费用
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/136277.html