[질문]이 쉘스크립트가 왜 안될까요?

keston의 이미지

bash --version
GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)

#!/bin/sh
if [ `grep 9 /etc/redhat-release` ]
then
echo "Redhat9"
else
echo "no"
fi

./test.sh
test.sh: line 2: [: too many arguments
no

다즐링의 이미지

if [ `grep 9 /etc/redhat-release` ]

이부분의 리턴값이 많으니까 그런것이죠

echo `grep 9 /etc/redhat-release` 해보세요

#!/bin/sh
if [ `grep 9 /etc/redhat-release` ]
then
echo "Redhat9"
else
echo "no"
fi

./test.sh
test.sh: line 2: [: too many arguments
no

------------------------------------------------------------------------------------------------
Life is in 다즐링

alfalf의 이미지

#!/bin/sh 
if grep -q 9 /etc/redhat-release
then 
echo "Redhat9" 
else 
echo "no" 
fi