쉘 프로그래밍 command not found가 뜹니다
글쓴이: krsgu45 / 작성시간: 일, 2018/04/01 - 2:42오후
if [ $# -eq 0 ]
echo "No input"
if [ $# -eq 1 ]
egrep "$1" data|awk -f file.awk
if [ $# -eq 2 ]
egrep "$1" data|egrep "$2" data|awk -f file.awk
인자가 들어온 갯수에 따라 그 인자를 포함한 내용을 출력하는건데
input으로 인자 2개를 넣으면 if[ 2 -eq 1 ]: command not found라고 뜹니다.
syntex error가 없어보이는데 뭐가 문제일까요?ㅠㅠ
Forums:
https://wiki.kldp.org/wiki
https://wiki.kldp.org/wiki.php/DocbookSgml/Bash-Prog-Intro-HOWTO#AEN153
.
if [ $# -eq 0 ];
then
echo "No input"
fi
if [ $# -eq 1 ];
then
egrep "$1" data|awk -f file.awk
fi
if [ $# -eq 2 ];
then
egrep "$1" data|egrep "$2" data|awk -f file.awk
fi
으로 글보고 고쳐도 if[ 2 = 1 :command not found가 뜨고
then에 syntex error가 있다고 뜨네요ㅜㅜ.ㅜ
엉뚱한 스크립트 실행한 것 아닌가요 ?
엉뚱한 스크립트 실행한 것 아닌가요 ?
음 ..
여기 적어 놓은 스크립트랑 실제 스크립트랑 다른 것 같은데요..?
에러 메시지 보면, 실제 스크립트에는 if[ $# = 2 ] 와 같이 if 와 [ 가 붙어 있을 것 같은데..
if 문이 인식이 안 되었으니, then 이 갑툭튀 했다고 syntax error 나왔을 거구요..
자기가 한 것과 본 것을 정확하게 적었는지 다시 확인해 보세요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
에러 메시지로 보아서는 if 와 "[" 사이에 공백
에러 메시지로 보아서는 if 와 "[" 사이에 공백 문자가 없어서 일 겁니다.
와 같이 되어 있는 것이 아닌지 살펴 보세요.
음 ymir 님 글의 뒷북이네요 orz
디버깅 해보세요
코드가 별로 길지않으면 시작부분부터 set -xv 하시고 끝에 set +xv하시면 해결될지도?
댓글 달기