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' ];
答案 0 :(得分:4)
运算符-eq
用于整数比较。
如果您想比较字符串,您必须使用=
,如下所示:
if [ "$a" = "$b" ]
相当于
if [ "$a" == "$b" ]
但不等同于(注意空格)
if [ "$a"="$b" ]
但是,如果要在if语句中使用正则表达式(使用^不是glob模式通配符),请查看here
那就是你应该在if语句之前进行拆分,并将用户和组放在两个数组中。