ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쉘 스크립트 간단한 문법 정리
    Technique/LPIC 2019. 10. 20. 16:18
    반응형

    if 문

    if 조건식
    	then
        	실행문 1
        else
        	실행문 2
    fi

    ;을 이용하여 복수의 커맨드를 1행에 나열하는 것도 가능하다. 또한 스크립트의 실행에는 test 커맨드나 source 커맨드를 생략하는 방식을 사용한다.

     

    case 문

    case 식 in
    	값1
        	실행문1 ;;
        값2
        	실행문 2 ;;
          :
          :
    esac

    실행문 쉬에 ;; 을 붙이는 것이 중요

    종료 시에는 esac를 붙이는 것도 중요

     

    for문

    for 변수명 in 변수에 대입할 값 리스트
    do
    	실행문
    done

     

    while 문

    while 조건문
    do
    	실행문
    done

     

    read 커맨드

    read 커맨드는 쉘스크립트 내에 표준 입력으로부터 입력을 받아들이는 용으로 이용한다. 다음의 예는 유저의 이름을 입력하면 해당 이름을 사용하여 인사말을 돌려주는 예제이다.

    echo -n "Who are you? : "
    read username
    echo "Hello, $username!"

     

    쉘 스크립트의 실행환경

    쉘 스크립트는 쉘의 종류에따라 다양하다. 작성한 스크립트가 bash 쉘 용으로 작성된 경우 스크립트의 선두에는 다음과 같이 지정된다,

    #!/bin/bash

    이것을 1행에 작성하는 것으로 스크립트는 bash 쉘로 실행되는 것이 된다.

     

    실행 권한이 있는 스크립트 파일을 커맨드 라인에 지정하거나 bash 커맨드의 인수에 지정한 쉘 스크립트를 실행하면 새로운 쉘 프로세스 (bash)가 실행한 쉘의 자식 프로세스로서 생성되며 해당 환경에 스크립트가 실해된다. 따라서 원래의 쉘에 export 커맨드를 사용한 export 된 변수는 쉘 스크립트의 실행환경에도 유효하게 된다. 하지만 스크립트 내에 환경을 변경할 경우 스크립트의 실행이 끝나도 실행의 원래 환경에는 반영되지 않는다.

     

    쉘 스크립트는 실행한 유저의 권한으로 동작된다. 다른 유저의 권한으로 실행하기 위해서는 일반적인 SUID, SGID를 이용하지만 보안상의 이유로 Linux에서는 스크립트 파일에 설정된 SUID, SGID는 무시된다.

     

    반응형

    'Technique > LPIC' 카테고리의 다른 글

    네트워크 경우로의 X 이용  (0) 2019.10.22
    X Window System의 개요  (0) 2019.10.22
    파일의 체크  (0) 2019.10.20
    쉘 스크립트  (0) 2019.10.20
    bash의 설정 파일  (0) 2019.10.20

    댓글

Designed by Tistory.