리눅스					분류
				
						쉘 스크립트 too many argument 에러 질문입니다.
작성자 정보
- 석지 작성
 - 작성일
 
컨텐츠 정보
- 11,494 조회
 - 2 댓글
 - 0 추천
 - 목록
 
본문
#!/bin/bash
a=0;
while [ $a -le `cat /etc/passwd | wc -l` ];
do
    a=$(expr $a + 1)
    echo "$a"
if [ `cat /etc/passwd | awk -F":" '{print $3}' | awk 'NR==$a'` -gt 0 ]
    then
        echo "0보다큰놈"
    else
        echo "0인놈"
fi
done
echo "script complete."
현재 짠 쉘 스크립트 입니다.
/etc/passwd 의 UID를 뽑아서 UID가 0인 놈을 찾아내 취약하다고 알려주는 스크립트를 짜려 합니다.
그런데 자꾸 too many argument  에러 메세지가 자꾸 나옵니다 
어떻게 해결해야 할까요 ?
91sgw@naver.com
답변 부탁드립니다!
관련자료
- 
			이전
 - 
			다음
 
			댓글 2
					
			지유파파님의 댓글
- 지유파파
 - 작성일
 
					
										
					if [ `cat /etc/passwd | awk -F":" '{print $3}' | awk 'NR==$a'` -gt 0 ] 
위 구문에서
$a에 작은 따옴표로 감싸 보세요.
if [ `cat /etc/passwd | awk -F":" '{print $3}' | awk 'NR=='$a''` -gt 0 ]
												위 구문에서
$a에 작은 따옴표로 감싸 보세요.
if [ `cat /etc/passwd | awk -F":" '{print $3}' | awk 'NR=='$a''` -gt 0 ]
석지님의 댓글의 댓글
- 석지
 - 작성일
 
					
										
					감사합니다!!! 비목 답 달리기전에 해결했지만 해결방법이 같네요!! 감사합니다.
				
												
								