在本小节中,我们将学习有关bash字符串及其运算符的使用。
与其他编程语言一样,Bash字符串是一种数据类型,例如整数或浮点。它用于表示文本而不是数字。它是一组可能还包含数字的字符的组合。
例如,单词zyiz
和短语Welcome to zyiz
都是字符串。如果正确指定,甚至像01234
也可以视为字符串。要求程序员将字符串括在引号中,以便Bash将数据视为字符串,而不是数字,变量名或数组等之类的。
Bash由执行字符串操作和操作它们的多种方式组成。以下是Shell脚本中用于执行字符串操作的一些运算符:
等于运算符(=
)用于检查两个字符串是否相等。
语法
Operand1 = Operand2
示例
#!/bin/bash #Script to check whether two strings are equal. str1="xntutor.com" str2="zyiz.net" if [ $str1 = $str2 ]; then echo "Both the strings are equal." else echo "Strings are not equal." fi
执行上面示例代码,得到以下结果:
Strings are not equal.
不等于运算符(!=
)用于定义字符串不相等。
语法
Operand1 != Operand2
示例
#!/bin/bash #Script to check whether two strings are equal. str1="zyiz.net" str2="xntutor.com" if [[ $str1 != $str2 ]]; then echo "Strings are not equal." else echo "Strings are equal." fi
执行上面示例代码,得到以下结果:
Strings are not equal.
“小于运算符(\<
)”是一个条件运算符,用于检查string1
是否小于string2
。
语法
Operand1 \< Operand2
示例
#!/bin/sh str1="zyiz.net" str2="xntutor.com" if [ $str1 \< $str2 ]; then echo "$str1 is less then $str2" else echo "$str1 is not less then $str2" fi
执行上面示例代码,得到以下结果:
zyiz.net is not less than xntutor.com
“大于运算符(\>
)”用于检查string1
是否大于string2
。
语法
Operand1 \> Operand2
示例
#!/bin/sh str1="xntutor.com" str2="zyiz.net" if [ $str1 \> $str2 ]; then echo "$str1 is greater then $str2" else echo "$str1 is less then $str2" fi
执行上面示例代码,得到以下结果:
xntutor.com is greater then zyiz.net
下面运算符-n
用于检查字符串是零还是大于零。
语法
[ -n Operand ]
示例
#!/bin/sh str="Welcometozyiz" if [ -n $str ]; then echo "String is not empty" else echo "String is empty" fi
执行上面示例代码,得到以下结果:
String is not empty
此运算符用于检查字符串是否为空或等于零。
语法
[ -z Operand ]
示例
#!/bin/sh str="" if [ -z $str ]; then echo "String is empty." else echo "String is non-empty." fi
执行上面示例代码,得到以下结果:
String is empty