📌  相关文章
📜  bash 脚本字符串比较 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:37.933000             🧑  作者: Mango

Bash 脚本字符串比较

在 Bash 脚本中,字符串比较是非常常见的操作。字符串比较通常用于条件语句中,用于控制程序的流程。本文将讨论如何在 Bash 脚本中进行字符串比较。

1. 字符串比较运算符

在 Bash 脚本中,我们可以使用如下字符串比较运算符:

  • =:等于
  • !=:不等于
  • -z:如果字符串为空,则为真
  • -n:如果字符串不为空,则为真
  • <:小于
  • >:大于
2. 使用示例
#!/bin/bash

str1="hello"
str2="world"

if [ $str1 = $str2 ]
then
    echo "str1 等于 str2"
else
    echo "str1 不等于 str2"
fi

if [ $str1 != $str2 ]
then
    echo "str1 不等于 str2"
else
    echo "str1 等于 str2"
fi

if [ -z "$str1" ]
then
    echo "str1 为空"
else
    echo "str1 不为空"
fi

if [ -n "$str1" ]
then
    echo "str1 不为空"
else
    echo "str1 为空"
fi

if [ $str1 \< $str2 ]
then
    echo "str1 小于 str2"
else
    echo "str1 大于等于 str2"
fi

if [ $str1 \> $str2 ]
then
    echo "str1 大于 str2"
else
    echo "str1 小于等于 str2"
fi

输出结果:

str1 不等于 str2
str1 不等于 str2
str1 不为空
str1 不为空
str1 小于等于 str2
str1 大于等于 str2
3. 注意事项
  • 字符串比较时,两边的字符串必须用双引号或单引号括起来,否则会报错。
  • 比较运算符两边必须用空格隔开,否则会报错。
  • 比较运算符可以组合使用,比如 -z= 结合使用,表示字符串为空或者等于某个值。
  • 在使用小于或大于运算符进行比较时,要使用反斜杠进行转义,否则会被解释成文件重定向符号。