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