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 只能做整数值的等值比较。