Bash脚本if -eq

时间:2016-04-29 07:58:03

标签: bash if-statement equals

bash脚本新手,我需要检查Group中的第一个单词是否等于Users中的第二个单词。

Group=`echo $rules | egrep -v 'Test'`
Users=`echo $rules | grep -i 'Test' | awk '{print substr($0, index($0,$2))}'`

if [ '$Group' -eq '$Users' ];
then
echo $Group
echo $Users

else
:
fi

我可以使用这样的东西或者这怎么可能?

if [ '$Group $1' -eq '$Users $2' ];

if [ '^$Group' -eq '^$Users' ];

1 个答案:

答案 0 :(得分:4)

运算符-eq用于整数比较。 如果您想比较字符串,您必须使用=,如下所示:

if [ "$a" = "$b" ]

相当于

if [ "$a" == "$b" ]

但不等同于(注意空格)

if [ "$a"="$b" ]

但是,如果要在if语句中使用正则表达式(使用^不是glob模式通配符),请查看here

那就是你应该在if语句之前进行拆分,并将用户和组放在两个数组中。