阅读(4022) (0)

Bash 字符串运算符

2020-06-18 09:27:31 更新

同其他编程语言一样,在 Bash 中,字符串也是一种数据类型。只要以" "引起来,不论是数字还是字符,都会被 Bash 视为字符串。如"Welcome to W3Cschool"

字符串运算符

1.= 等于运算符,等于时返回true

语法示例:

Str1 = Str2

应用示例:

#!/bin/bash
Str1="W3Cschool.cn"
Str2="W3C"
if [ $Str1 = $Str2 ];
then
    echo "True"
else
    echo "False"
fi

执行后得到以下结果:

False

2.!= 不等于运算符,不等于时返回true

语法示例:

Str1 != Str2

应用示例:

#!/bin/bash


Str1="W3Cschool.cn"
Str2="W3C"


if [[ $Str1 != $Str2 ]];
then
echo "True"
else
echo "False"
fi

执行后得到以下结果:

True

3.检查字符串长度是否为零。

  • -n,不为零时返回true

语法示例:

-n Str

应用示例:

#!/bin/sh
Str="Welcome to W3Cschool"


if [ -n $Str ];
then
 echo "True"
else
    echo "False"
fi

执行后返回以下结果:

True

4.检查字符串长度是否为空。

  • [-z string ]:如果string不为空(长度大于0),则判断为真。

应用示例:

#!/bin/sh

  
ANSWER=maybe

  
if [ -z "$ANSWER" ]; then
  echo "There is no answer." >&2
  exit 1
fi
if [ "$ANSWER" = "yes" ]; then
  echo "The answer is YES."
elif [ "$ANSWER" = "no" ]; then
  echo "The answer is NO."
elif [ "$ANSWER" = "maybe" ]; then
  echo "The answer is MAYBE."
else
  echo "The answer is UNKNOWN."
fi

执行后返回以下结果:

maybe

上面代码中,首先确定$ANSWER字符串是否为空。如果为空,就终止脚本,并把退出状态设为1。注意,这里的echo命令把错误信息There is no answer.重定向到标准错误,这是处理错误信息的常用方法。如果$ANSWER字符串不为空,就判断它的值是否等于yesno或者maybe