[완료]쉘스크립트 if구문이 잘안되내요

kang1의 이미지

#/bin/bash

echo "======== 새로운 맴버를 추가 합니다========="

while :
do

echo -n "이름 : " ;read name
echo -n "직업 : " ;read job
echo -n "전화 : " ;read phone

if [ -z $name -o -z $phone -o -z $job ]; then
echo "input error"
continue
fi

break

done

name, job, phone의 문자가 없다면 input error라는 메세지를 화면에 출력하고 다시 while루푸를 수행하도록 짠건데요,

입력이 없을때 input error이 출력되지 않고, [ : too many arguments라고 오류메세지가 나옵니다.

이 부분을 어떻게 처리해야 좋을지...

답변 부탁드립니다.

alee의 이미지

if [ -z "$name" -o -z "$phone" -o -z "$job" ]; then

이렇게 따옴표를 붙여주세요. 따옴표가 없을 경우 각 변수가 비어 있으면,

if [ -z -o -z -o -z ]; then

이런 구문이 되기 때문에 에러를 내게 됩니다.

kang1의 이미지

---

대한민국