while, until 문 사용 보기

logout 감시하기(?):

   #!/bin/sh
   while who |grep -s $1 >/dev/null
   do
     sleep 60
   done
   echo "$1 사용자 logout 했음."

이 스크립트는 스크립트 인자로 주워진 사용자를 찾아서, 현재 접속중이면, 60초 뒤에 다시 확인해 보고, 이렇게 해서, 접속 중이 아닐때까지 계속 확인해서, 접족 중이 아니면, 그 메시지를 보이고, 스크립트를 종료합니다.


파일이 만들어 졌는지 확인하는 예제:

   #!/bin/sh
   until test -f $FILE
   do
     sleep 60
   done
   echo "$FILE 파일 만들어졌음."

이것은 FILE 변수에 지정된 파일이 만들어 질 때까지 계속 검사해서, 만들어지면, 그 메시지를 보이고, 끝냅니다.


사용자 접속 검사:

   #!/bin/sh
   PATH=/bin:/usr/bin
   # $# 변수는 인자의 갯수가 저장되지요.
   case $# in
   1) ;;
   *) echo '사용법: watchfor username' ; exit 1
   esac
   until who | grep -s "$1" >/dev/null
   do
     sleep 60
   done
   echo "$1 사용자 접속했음."

만약에 이 스크립트를 실행할때, 아무 인자도 주지 않거나, 두개 이상의 인자를 주면, 다음과 같은 메시지를 보일 것입니다.

   사용법: watchfor username

그리고는 종료되겠지요.


[차례] [찾기] [색인]