Bash字符串

Bash字符串

在本小节中,我们将学习有关bash字符串及其运算符的使用。

与其他编程语言一样,Bash字符串是一种数据类型,例如整数或浮点。它用于表示文本而不是数字。它是一组可能还包含数字的字符的组合。

例如,单词zyiz和短语Welcome to zyiz都是字符串。如果正确指定,甚至像01234也可以视为字符串。要求程序员将字符串括在引号中,以便Bash将数据视为字符串,而不是数字,变量名或数组等之类的。

Bash由执行字符串操作和操作它们的多种方式组成。以下是Shell脚本中用于执行字符串操作的一些运算符:

1. 等于运算符

等于运算符(=)用于检查两个字符串是否相等。

语法

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.

2. 不等于运算符

不等于运算符(!=)用于定义字符串不相等。

语法

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.

3. 小于运算符

“小于运算符(\<)”是一个条件运算符,用于检查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

4. 大于运算符

“大于运算符(\>)”用于检查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

5. 检查字符串长度是否大于零

下面运算符-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

6. 检查字符串长度是否等于零

此运算符用于检查字符串是否为空或等于零。

语法

[ -z Operand ]

示例

#!/bin/sh   

str=""  

if [ -z $str ];  
then   
    echo "String is empty."  
else  
    echo "String is non-empty."  
fi

执行上面示例代码,得到以下结果:

String is empty