리눅스 분류
쉘 스크립트 too many argument 에러 질문입니다.
작성자 정보
- 석지 작성
- 작성일
컨텐츠 정보
- 9,813 조회
- 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 ]
석지님의 댓글의 댓글
- 석지
- 작성일
감사합니다!!! 비목 답 달리기전에 해결했지만 해결방법이 같네요!! 감사합니다.