📜  bash 字符串包含 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:29.404000             🧑  作者: Mango

Bash 字符串包含

在 Bash 中,可以使用 [[]] 来进行字符串操作,并且可以使用 =!==~<, ><=>= 这些运算符来进行字符串比较和匹配。

字符串比较

使用 = 或者 != 运算符可以进行字符串是否相等的比较:

if [[ "$str1" = "$str2" ]]; then
  echo "str1 等于 str2"
fi
if [[ "$str1" != "$str2" ]]; then
  echo "str1 不等于 str2"
fi
子字符串匹配

使用 [[ $string =~ $regex ]] 可以进行字符串是否匹配某个正则表达式的匹配:

if [[ "$str" =~ ^[a-zA-Z]+$ ]]; then
  echo "str 仅包含字母"
fi
在字符串中查找子串

使用 [[ $string == *"$sub"* ]] 可以进行在字符串中是否包含某个子字符串的查找:

if [[ "$str" == *"foo"* ]]; then
  echo "str 中包含 foo"
fi
判断字符串是否为空

使用 -z 或者 -n 可以判断一个字符串是否为空:

if [[ -z "$str" ]]; then
  echo "str 是空的"
fi
if [[ -n "$str" ]]; then
  echo "str 不是空的"
fi
字符串切片

使用 ${var:start:len} 可以对字符串进行切片操作:

str="hello world"
echo "${str:0:5}" # 输出 hello
字符串连接

使用 ${var1}${var2} 可以对字符串进行连接:

str1="hello"
str2="world"
echo "${str1}${str2}" # 输出 helloworld

总之,Bash 中对于字符串的操作是非常灵活的,可以根据实际情况进行组合使用。