-
字符串比较
字符串相等比较
相等:在[]中使用==或=
[root@Centos]# ./demo.sh
true
[root@Centos]# cat demo.sh
#! /bin/sh
a="demo"
if [ "$a" = "demo" ];then
echo "true"
fi
# or
[root@Centos]# ./demo.sh
true
[root@Centos]# cat ./demo.sh
#! /bin/sh
a="demo"
if [ "$a" == "demo" ];then
echo "true"
fi
不等:在[]中使用!=
[root@Centos]# cat demo.sh
#! /bin/sh
a="demo"
if [ "$a" != "demo" ];then
echo "true"
fi
- 字符串包含
在[[ ]]中使用=~
[root@Centos]# ./demo.sh
true
[root@Centos]# cat demo.sh
#! /bin/sh
a="demo"
if [[ "$a" =~ "mo" ]];then
echo "true"
fi
不包含
[root@Centos]# cat demo.sh
#! /bin/sh
a="demo"
if [[ ! "$a" =~ "mo" ]];then
echo "true"
fi
- 模式匹配
[root@Centos]# cat demo.sh #! /bin/sh a="demo" # 以d开头 if [[ "$a" == d* ]];then echo "true" fi [root@Centos]# ./demo.sh true
shell脚本#为注释符号,那么如何判断以#开头呢?
-
[root@Centos]# ./demo.sh true [root@Centos]# cat demo.sh #! /bin/sh a="#demo" if [[ "$a" == ''#*'' ]];then echo "true" fi # or [root@Centos]# ./demo.sh true [root@Centos]# cat demo.sh #! /bin/sh a="#demo" if [[ "$a" == \#* ]];then echo "true" fi