스크립트의 인수에서 사용자 이름을 확인한 다음/etc/passwd 및/etc/group 파일 (/ etc/passwd 파일이 아닌)에서 관련 행을 출력하는 bash 스크립트를 작성하려고합니다. 그림자 파일). 현재, if then else 루프를 사용하여/etc/* 디렉토리의 내용을 확인하고 관련 정보를 출력합니다. 내 의도는 일치하는 사용자가 두 파일에 없으면 null 텍스트 값을 출력하는 것이 었습니다. 그러나, 내가 찾고있는 정보에 대해 완전히 잘못된 정보를 출력하고 있습니다. BASH의 새로운 사용자로서, 그리고 리눅스는 일반적이지만, 당장 눈부신 문제가있을 것이라고 확신합니다. 그러나 나는 배우려고 노력하고 있습니다.BASH grep 스크립트
내 스크립트 코드 또는 올바른 방향의 요령에 대한 도움이 있으면 정말 감사합니다. 고맙습니다.
#! /bin/bash
USERLOOK='grep -h $USERID ~/etc/* | grep :x:'
grep $1 ~/etc/*
if [ -z $1 ]; then
echo "User not found."
else
echo "$USERLOOK"
fi
exit 0
질문이 명확하지 않습니까? './script user_to_check'라고하는 스크립트에 사용자 이름을 인자로 입력하고 싶습니까? – sjsam
[인용하기] (http://mywiki.wooledge.org/BashGuide/Practices#Quoting) 및 [명령 대체] (http://mywiki.wooledge.org/CommandSubstitution)를 읽어야합니다. –
@sjsam 네, 스크립트 입력 기능을 사용하고 싶습니다 ./script user_to_check. 사용자 이름이 발견되면 grep 사용에 대한 나의 추측이었던 모든 행을 출력하고 싶습니다. 그러나 사용자 이름을 찾을 수 없다면, 나는 그것을 반향시키고 싶습니다. – NewBashUser226