codecamp

Bash 字符串运算符

同其他编程语言一样,在 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

Bash until循环
Bash 查找字符串长度
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }