2016-04-29 16 views
0

bashスクリプトの新機能は、Groupの最初の単語がUsersの2番目の単語と等しいかどうかを確認する必要があります。Bashスクリプトの場合-eq

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

遊ぶサンプル入力を提供できますか?また、値を展開するには二重引用符を必要とすると思います - > '' ["$ group" -eq "$ Users"] '。 – fedorqui

答えて

2

オペレータ-eq整数比較のために使用されます。 あなたはこのような=を使用しなければならない文字列を比較したい場合:

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

しかし

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

ではなく

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

(スペースに注意してください)と同等に相当し、 if文で正規表現(グロブパターンのワイルドカードではない^を使用)を使用する場合は、次のように入力します。here

これは、if文の前に分割を行い、ユーザとグループを2つの配列に入れるべきだと言いました。