shell 使用if判断字符串是否相等
时间: 2023-07-08 14:36:30 浏览: 322
在shell中,可以使用`if`语句和`test`命令(或`[`)来判断两个字符串是否相等。具体语法如下:
```shell
if [ "$str1" = "$str2" ]; then
echo "两个字符串相等"
else
echo "两个字符串不相等"
fi
```
其中,`"$str1" = "$str2"`是判断字符串相等的条件,`"$str1"`和`"$str2"`是需要比较的两个字符串,注意字符串前后需要加上双引号以避免空格和特殊字符的干扰。如果两个字符串相等,则执行`then`后面的语句,否则执行`else`后面的语句。
相关问题
shell脚本里判断字符串是否相等
在shell脚本中,可以使用以下方法判断字符串是否相等:
1. 使用test命令或[ ]符号:
```
if [ "$str1" = "$str2" ]; then
echo "字符串相等"
else
echo "字符串不相等"
fi
```
2. 使用双等号:
```
if [ "$str1" == "$str2" ]; then
echo "字符串相等"
else
echo "字符串不相等"
fi
```
注意,在使用双等号比较字符串时,要注意两个字符串是否有空格或特殊字符,否则可能会出现语法错误。建议使用单等号或[ ]符号来比较字符串。
shell脚本if判断字符串
在shell脚本中,可以使用if语句来判断字符串。下面是一个判断字符串是否相等的示例:
```
if [ "$str1" = "$str2" ]; then
echo "str1 equals str2"
else
echo "str1 does not equal str2"
fi
```
其中,`$str1`和`$str2`表示要比较的两个字符串。`=`用于判断两个字符串是否相等。注意,`=`前后需要有空格。如果字符串相等,则输出"str1 equals str2",否则输出"str1 does not equal str2"。
除了判断相等,还可以使用其他运算符来判断字符串大小、是否为空等。例如:
- 判断字符串是否为空:`if [ -z "$str" ]; then`
- 判断字符串是否非空:`if [ -n "$str" ]; then`
- 判断字符串大小:`if [ "$str1" \< "$str2" ]; then`(注意,这里的`\<`是小于号,需要进行转义)
- 判断字符串是否包含某个子串:`if [[ "$str" == *"$substr"* ]]; then`
需要注意的是,上述运算符前后也需要有空格。
阅读全文