• 쉘 프로그래밍 명령어 모음 3

    2021. 5. 11.

    by. 공상개발

     

    # 파일 상태 연산자

     

    파일, 디렉터리 존재 여부 및 접근권한 판단 연산자

    표현식 의미
    [ -d name ] name이 디렉토리 이름이면 참
    [ -f name ] name이 파일 이름이면 참
    [ -r name ] name이 나타내는 파일이나 디렉토리가 읽기 가능하면 참
    [ -w name ] name이 나타내는 파일이나 디렉토리가 쓰기 가능하면 참
    [ -x name ] name이 나타내는 파일이나 디렉토리가 실행 가능하면 참
    [ -s name ] name이 나타내는 파일이 존재하고 크기가 0보다 크면 참

     

     

    # if ... then ... else ... fi

     

    두 부분 중의 한 부분을 선택해서 실행합니다.

     

    # if ... elif

     

    여러 개의 조건을 검사한 후 선택해 실행합니다.

     

    # case 문

     

    • 복잡한 if 문을 간단하게 만드는 데 사용
    • 문자열 내에 포함된 패턴을 검사해서 일치하는 부분의 명령 실행
    • 패턴을 표현할 때는 메타 문자를 이용한 정규 표현 방식 가능

     

     

    cstring - 검사할 문자열

    pattern - 문자열 내에 포함된 패턴

    command - 실행할 명령

    ;; - 명령의 끝

    * - 일치하는 패턴이 없을 때 실행하는 부분

     

    # while 문

     

    while [ condition ]
    do 
        commands
    done

     

    조건이 참인 동안에 do ~ done 사이에 있는 명령문들을 반복해서 실행합니다.

    "while : "은 무한 루프

     

    # break 와 continue

     

    break - 반복문을 끝내고 제어를 반복 루프 밖으로 이동

    continue - 제어를 반복문의 시작 위치로 이동

     

    # until 문

     

    until [ condition ]
    do 
       commands
    done

     

    조건이 false인 동안 명령문을 실행하는 반복문으로 while문과 반대로 동작한다.

     

     

    # for 문

     

    for element in arg_list
    do
       commands
    done

     

    • 집합 내에 포함된 각 요소에 대해 반복문 실행
    • element가 arg_list에 있는 각 요소를 차례로 가지면서 commands를 실행
    • 반복 횟수는 물론 arg_list의 요소의 수와 같다.

     

     

    • 명령 실행 결과로 생성된 변수에 저장된 목록도 처리할 수 있다.

     

    • 목록 표현에 메타 문자를 사용하면 메타 문자가 해석되어 처리된다.

     

    •  in 부분이 생략되면 프로그램의 명령 라인 인수가 목록이 된다.

     

    # 함수

     

    • 함수 정의
    func_name()
    {
        commands
    }

     

    • 함수 호출
    func_name arg_list

     

    함수를 정의하고 호춣

     


     

     

    작성된 내용 중 잘못된 정보나 접근이 있을 시, www.instagram.com/hong_.98/을 통해 말씀해 주시기 바랍니다.

    좋은 하루 보내세요.

    'Computer Science > Linux' 카테고리의 다른 글

    시스템 프로그래밍 C.1  (0) 2021.05.28
    시스템 관리 (1)  (0) 2021.05.25
    쉘 프로그래밍 명령어 모음 2  (0) 2021.05.11
    쉘 프로그래밍 명령어 모음 1  (0) 2021.05.04
    리눅스 - 쉘 (Vol.1)  (0) 2021.04.13

    댓글