Shell的字符串表達式介紹-實踐及企業案例腳本剖析
阿新 • • 發佈:2017-09-11
linux
man test可以看到字符串
-n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER
字符串測試操作符:
常用字符串測試操作符
-z “字符串”,若串長度為0則真,-z可以理解為zero
-n “字符串”,若串長度為0則真,-n可以理解為no zero
"串1" = “串2”,若串1等於串2則真,可使用“==”代替“=”
“串1”!=“串2”,若串1不等於串2則真,但不能用“!==”代替“!=”
特別註意:
1、以上表格中的字符串測試操作符號必須用""雙引號引起來哦。
2、比較符號兩端必須有空格
3、字符串或字符串變量比較都要加雙引號後再比較
4、字符串或字符串變量比較,比較符號兩端最好都有空格。
練習:
[[email protected] ~]# [ -n "abc" ]&&echo 1||echo 0 1 [[email protected] ~]# [ -n "" ]&&echo 1||echo 0 0 [[email protected] ~]# [ -z "abc" ]&&echo 1||echo 0 0 [[email protected] ~]# [ ! -z "abc" ]&&echo 1||echo 0 1 [[email protected] ~]# [ -n "$test" ]&&echo 1||echo 0 1 [[email protected] ~]# test="oldboy" [[email protected] ~]# [ -n "test" ]&&echo 1||echo 0 1 [[email protected] ~]# [ -n "$test" ]&&echo 1||echo 0 1 [[email protected] ~]# [ "$test" = "oldboy" ]&&echo 1||echo 0 1
本文出自 “sandshell” 博客,請務必保留此出處http://sandshell.blog.51cto.com/9055959/1964139
Shell的字符串表達式介紹-實踐及企業案例腳本剖析