Posted on 2004/07/05 12:06
Filed Under 프로그래밍/쉘프로그램 조회수:

======================================================================

    SHELL PROGRAMMING [11]  Redirection 과 기타 특수 문자들..

본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을
금지 합니다.  -  서진우(alang at sysmng.com)

======================================================================

11. Redirection 과 기타 특수 문자들..

11.1 Redirection

standard input 과 output 방향을 결정해 주는 redirection 은
형식에 따라 다른 의미를 가진다. 여긴선 그 의미에 대해 간단히 알아보자.

Redirection                     의미

> file 또는 1> file     입력값을 file 에 저장한다.(기존값은 지움)
>> file 또는 1>> file   입력값을 file 에 덧 붙인다. (기존값뒤에 붙임)
< file                  file 의 내용을 읽어드린다.
2>                      error 내용을 file 로 저장한다.
|                       '|' 왼쪽의 출력내용을 '|' 오른쪽으로 입력

예제 ---------------------------------------------------

#!/bin/sh

cd /usr/local/src/mysql-3.xx
./configure && make && make install  2> err_chk

if [ -s err_chk ]
then

    echo "컴파일중 Error 가 발생하였습니다."
    vi err_chk

else

    echo "무사히 컴파일 되었습니다."

fi

-------------------------------------------------------

위 예제는 mysql 를 컴파일 하면서 에러가 발생하면 에러 발생했다는
메세지를 보여주고 에러내용을 보여주고 에러 없이 컴파일이 되었다면
무사히 컴파일이 되었다는 메세지를 보여 준다.

11.2 쉘 프로그래밍에서 사용되는 특수 문자들

$$                      Process ID Number
$1,$2,..                Arguments
$*                      모든 Arguments
$#                      Arguments 갯수
$?                      exit status, 즉 앞의 수행결과에 error 가
                        발생하면 1, 그렇지 않으면 0

#                       주석 처리
#!/bin/sh               Script 첫행에 쓰여서 실행 Shell 결정
command &               명령어를 Background job 으로 실행한다.
command1; command2      여러개의 명령어를 한 라인에서 처리할때 ;을
                        사용한다.



지금 까지 쉘 스크립트 프로그램의 기본 문법에 대해 알아보았습니다. 지금 까지 나온
내용을 잘 응용하면 시스템 관리시 많은 작업시간을 단축 시킬수 있을것입니다.

다음편 부터는 보다 다양한 기능을 처리할수 있도록 하는  Regular Expression  과
wide card 등에 대해 간단히 알아보고, shell programming을 할때 유용히 사용하는
리눅스 명령어에 대해 알아보도록 하겠다.


* 서진우님에 의해서 게시물 복사되었습니다 (2004-10-07 16:03)
Writer profile
author image
-아랑 -

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우

Counter

· Total
: 4721137
· Today
: 80
· Yesterday
: 935