쉘스크립트 if구문이 잘안되내요

0
points

#/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의 이미지
5134
points

if [ -z "$name" -o -z

3
points

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

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

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

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

감사 합니다~(냉무)

0
points

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.