: 저는 전화번호를 검색할 수 있는 쉘 스크립트를 짜는
: 중입니다. 하지만 번번히 막히고 마는 군요..
: 이름을 입력하여 해당자가 있으면 전화번호를 출력하고
: 없으면 "not found"라는 문구를 나오게 하여 재입력하게
: 하고 싶은데 우선
: $ if grep -c "kang" a
: > then
: > echo kang 5555
: > else
: > echo kang not
: > fi
: a 라는 파일을 만들어서 이런식으로 출력을 했는데...
: 막히는 것은 입력하게 하는 것과 위의 내용을 어떻게 연결하느냐
: 하는 것, 그리고 하나의 파일로도 가능한지에 대한 것,
: 그리고 이외의 다른방법 입니다...
: 나름대로 열심히 하고 있지만 아시고 계신분은 저를 좀 구제해 주십시요...
: 아! 머리나쁜 놈은 죽어야해!!!!
간단하게 예를 들어드릴께요.
만약 전화번호부가 이미 만들어진 파일, phonebook이라는 파일이라고하고,
그 파일은 한줄이 한 사람의 정보로 이루어졌다고 가정합니다.
그래서 사람들이 find_phone_number라는 명령을 실행할 때 사람이름을 뒤에
치고 찾는다면...그러니까 ./find_phone_number username이라고 실행하여
뒤에 오는 username을 변수로 받아서 실행하실때의 예입니다...
#!/bin/sh
if [ $# != 1 ]; then
echo "usage : $0 username"
exit 1
fi
name=`grep -c $1 phonebook`
if [ "${name}" != "0" ];
then
echo | grep $1 phonebook
else
echo "the user is not in this phonebook"
fi
이렇게 하면 이 스크립트를 실행할 때 username이라는 인자가 필요하고,
그렇게 들어오는 인자를 $1으로 받아들입니다.
그 $1이 phonebook에 있는지를 카운트하여 name이라는 변수에 넣고,
그 변수가 0이 아닐때 그 사람의 정보를 출력하고, 0일때는
phonebook에 그 사람이 없다는 메세지를 뿌려줄겁니다.
그럼...--도움이 되셨길..