카테고리 없음2013. 6. 18. 09:25

 

31-2장. 쉘 프로그래밍과 환경설정파일

 

 

 

● Test와 [] 구조
- 형식
   if test -f abc.c 또는 if [ -f abc.c]
   then
   ......
   fi


 

 

 

 

● for 구문

    for variable in values

    do

       statements

    done

 

 

 

● while 구문

    while condition

    do

       statements

    done

    ※ condition이 참인 동안에 statements 실행

 

 

 

 

● until 구문

    until condition

    do

       statements

    done

    ※ condition이 참일 때까지 statements 실행

 

 

 


vi untiltest.sh

 



위와같이 파일을 편집한다.

 



untiltest.sh 파일이 생성된 것을 확인하고

파일에 실행권한을 주자.

 

chmod 755 untiltest.sh

 

./untiltest.sh

파일을 실행해보면 잘 된다.

 



이제 john이라는 특정 사용자에 적용시켜서 사용해보자.

 

./untiltest.sh john &

 

john이라는 사용자에 적용시켜서 & 백그라운드로 실행한다.

john은 첫번째 파라미터($1)이므로 john이 접속할때까지 이 파일은 sleep 할 것이다.

 



john 사용자가 없으면 생성하고 비밀번호를 부여한다.

 



Ctrl + Alt + F1을 눌러 텍스트 모드로 전환하자.

그리고 john 사용자로 로그인을하면

 


 

위와같이 자동으로 john이 접속했음을 알려준다.

 

 

 

 

● case 구문

    case variable in

       pattern [ | pattern] ...... statements;;

       pattern [ | pattern] ...... statements;;

    esac

 

 

 

● AND 리스트 (&&) : true 이면 오른쪽 문장 실행

● OR 리스트 (||) : false 이면 오른쪽 문장 실행

 

 

 

 

● 함수

- 추후 호출하기 위해서 메모리에 적재됨

- 함수 정의는 메모리에 적재되기만 할 뿐 실행되는 것은 아님

- 호출 : 함수명 arg1 arg2 ......

 

 

 

 

● continue

- for, while, until 에서 사용

 

 

 

● break

- for, while, until 에서 사용

 

 

 

● : (NULL)

- true 대신 사용. (true 보다 빠름)

- 무한루프에서 사용 (while :)



 

● eval

- 인수를 평가

 

 

● expr

- 인수를 수식으로 평가

- (')가 아니라 ( )

- 띄어쓰기 주의

- $(( )) 와 동일함



 

● exit n

- 0 : 성공, 1~125 에러코드

- 126(예약) : 파일이 실행가능하지 않았다.

- 127(예약) : 명령이 발견되지 않았다.

- 128이상(예약) : 시그널이 발생했다.

 

 

 

● export 변수명

- 변수를 전역변수로 처리하기 Ÿ◀

Posted by 아이맥스