【shell】判断字符串值是否相等

echo "定义一个字符串变量"

str="hello"

echo "等值比较"

if [ "${str}" = "hello" ]; then
    echo "字符串相等"
else
    echo "字符串不相等"
fi

PS:

1、关键字if与括弧之间、括弧与双引号之间、双引号和等号之间必须加空格;这个非常重要,当初排查问题的时候参考了一个站内大佬的笔记shell脚本之判断字符串是否相等_LawsonAbs's Spiritual Home-CSDN博客_shell脚本判断字符串相等shell脚本之判断字符串是否相等基本要素 1)变量的声明2)if语句的使用3)echo的使用 2 .代码如下#!/bin/bashstr1=liushenstr2=liutingif [ $str1 = $str2 ]then echo equalelse echo not equalfi代码的另一种表达,在if语句中的两个变量中添加了“”符号。#!/...https://lawson-t.blog.csdn.net/article/details/79301977

2、

[ "${str}" = "hello" ]

可改写为

[ "${str}"x = "hello"x ]

在字符串后面拼接上字符串x,保证等式两边始终都是有效值,避免当变量为空时的报错;

3、字符串等值比较不能用 -eq 命令,-eq 只能做整数值的等值比较。

猜你喜欢

转载自blog.csdn.net/weixin_44442332/article/details/122344652