안녕하세요. shell script 질문입니다. (if문 비교)

lcdbba의 이미지

현재 쉘스크립트 공부하고 있는데요.

centos 6.5를 사용합니다.
kernel 2.6(default)

코드부터 보여드릴게요.

#!/bin/sh
 
a="default"
for i in $(ls)
do
if [ $a==$i ]
then 
echo $a
 
fi
 
done

이렇게 작성한 코드가 있는데요.

저 조건이 무조건 true로 나와 고민입니다.

제가 다른 방법으로 시도했던 것도 올리겠습니다.
1)

#!/bin/sh
 
a="default"
for i in $(ls)
do
if [ "$a"="$i" ]
then 
echo $a
 
fi
 
done

2)
#!/bin/sh
 
a="default"
for i in $(ls)
do
cmp=$i""
 
#문자열아니라서 그런건가 시도해봤습니다.
 
if [ "$a"!="$i" ]
then 
echo $a
 
fi
 
done

모든 조건을 바꿔도 저 구문에서는 true로 나오네요....

원인이랑 해결방법 아시면 답변 부탁드립니다.

------------------------------------------------------------------------------------------------------------

변수 사이 = 를 띄워보니 정상작동 하네요.....

if [ $a = $i ]
...