7. Branching

2024. 4. 11. 15:54·쿠버네티스/shell programming
  1. exit
    1. 실행된 프로그램이 종료된 상태를 전달.
      • exit <숫자>
        • 0 : 프로그램 또는 명령이 성공적으로 종료했음을 의미
        • 1~255 : 프로그램 또는 명령이 실패로 종료했음을 의미
          • 1 :  일반 에러
          • 2 : Syntax error
          • 126 : 명령을 실행할 수 없음
          • 127 : 명령(파일) 이 존재하지 않음
          • 128+N : 종료 시그널 + N (kill-9PID 로 종료 시, 128 + 9 = 137)
        •  
      • $? : 종료값 출력
    1. example
      • 0 : 정상 종료된 케이스
      • 1 : 일반 에러
      • 127 : 명령이 존재하지 않음
      • 128+n : 종료시그널
  1. test
    1.  비교연산자
      • `test <명령어>` or `[명령어]`
      • 명령어 실행 결과를 true(0) 또는 false(1) 로 리턴한다.
      • test 명령어는 다양한 연사자를 지원한다. (help test)
        • x -eq y : x==y
        • x -gt y : x > y
        • x -ge y : x >= t
        • x -lt y : x < y
        • x -le y : x <= y
        • x -ne y : x != y
        • -e file : 파일이 존재하면 true
        • -d fiile : 파일이 디렉토리면 true
        • -f file : 파일이 파일이면 true
        • -x file : 파일 실행 가능하면 true
    2.  Example
      • 숫자 연산
      • 파일 디렉토리 여부 확인
      • 대괄호 사용
      • 산술연산(expr, let)
  2.  if-then-fi
    1. 조건 명령어 .command 실행 결과에 따라 서로 다른 command를 실행함.
      • if 조건1 → then 액션1 else 액션2 fi
        • if /then 조건


        • if / then / else 조건
  3.  case
    1. $var의 값에 따라 명령어를 실행
      • case "$variable" in
          pattern1) command1 ;;
          pattern2) command2 ;;
          *) command3 ;;
          esac
    2. Example
      • 입력된 답변에 따라 출력
      • 문자 시작 or 대문자 시작 모두 허용하기
        [Yy]es) echo "System restart.";;
        [Nn]o) echo "shutdown the system";;
        *) echo "entered incorrectly";;


      • 입력된 값에 따라 결과 출력하기

        • 값이 1, 2일 때는 정상 종료 (exit 값 0)
          값이 그 외일 때는 에러 종료 (exit 값 1)
  4. 실습
    1. 입력 받은 디렉토리가 실제 디렉토리면 파일 목록을 /tmp/날짜.txt 파일에 저장.
      실제 디렉토리가 아니면 It's not a directory 메시지 출력
    2. 결과

'쿠버네티스 > shell programming' 카테고리의 다른 글

8. looping  (0) 2024.04.12
6. Input&Output  (0) 2024.04.11
5. Positional Parameters  (0) 2024.04.09
4. Bash shell script란  (0) 2024.04.09
3. Bash shell과 Rules  (0) 2024.04.09
'쿠버네티스/shell programming' 카테고리의 다른 글
  • 8. looping
  • 6. Input&Output
  • 5. Positional Parameters
  • 4. Bash shell script란
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (165)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • AWS (27)
      • Jmeter (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    쿠버네티스
    스터디
    로스트아크api
    QAKOREA
    네트워크 테스트
    .cpu
    application log
    postman
    애플리케이션로그
    도커
    k8s
    로스트아크
    테스트 계획서
    사드웨어리소스
    python
    앱공존성
    테스트스크립트
    vi에디터
    개발자에서아키텍트로
    포스트맨
    리눅스
    e2c
    LOSTARK
    linux
    API
    qa
    공존성테스트
    테스트 계획서 만들어보기
    cka
    테스트 결과보고서
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
7. Branching
상단으로

티스토리툴바