Shell的字符串表达式介绍-实践及企业案例脚本剖析

前端之家收集整理的这篇文章主要介绍了Shell的字符串表达式介绍-实践及企业案例脚本剖析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

man test可以看到字符串

-nSTRING
thelengthofSTRINGisnonzero
STRINGequivalentto-nSTRING
-zSTRING
thelengthofSTRINGiszero
STRING1=STRING2
thestringsareequal
STRING1!=STRING2
thestringsarenotequal
INTEGER1-eqINTEGER2
INTEGER1isequaltoINTEGER2
INTEGER1-geINTEGER2
INTEGER1isgreaterthanorequaltoINTEGER

字符串测试操作符:

常用字符串测试操作符

-z“字符串”,若串长度为0则真,-z可以理解为zero

-n“字符串”,若串长度为0则真,-n可以理解为no zero

"串1" = “串2”,若串1等于串2则真,可使用“==”代替“=”

“串1”!=“串2”,若串1不等于串2则真,但不能用“!==”代替“!=”

特别注意:

1、以上表格中的字符串测试操作符号必须用""双引号引起来哦。

2、比较符号两端必须有空格

3、字符串或字符串变量比较都要加双引号后再比较

4、字符串或字符串变量比较,比较符号两端最好都有空格。

练习:

[root@linux-node1~]#[-n"abc"]&&echo1||echo0
1
[root@linux-node1~]#[-n""]&&echo1||echo0
0
[root@linux-node1~]#[-z"abc"]&&echo1||echo0
0
[root@linux-node1~]#[!-z"abc"]&&echo1||echo0
1
[root@linux-node1~]#[-n"$test"]&&echo1||echo0
1
[root@linux-node1~]#test="oldboy"
[root@linux-node1~]#[-n"test"]&&echo1||echo0
1
[root@linux-node1~]#[-n"$test"]&&echo1||echo0
1
[root@linux-node1~]#["$test"="oldboy"]&&echo1||echo0
1

猜你在找的Bash相关文章