LabHub

셸 스크립팅 · 변수와 조건 · 실습

첫 셸 스크립트 만들기

LabHub 에서 이어서 보기

목표

셸 스크립트의 뼈대(셔뱅·실행 권한·인자·환경변수·조건 분기·종료 코드)를 한 바퀴 돌립니다.

왜 중요한가

스크립트는 사람이 아니라 다른 프로그램이 호출합니다. 그래서 출력 스트림과 종료 코드가 인터페이스입니다. 결과는 stdout, 오류와 사용법은 stderr, 성공/실패는 종료 코드 - 이 규약을 지켜야 result=$(script.sh) 같은 사용법이 성립하고 CI 가 실패를 감지할 수 있습니다. 사용법 안내를 stdout 으로 내보내는 순간 그것이 곧 결과값이 되어 버립니다. 그리고 설정은 환경변수로 넘기고 없으면 합리적인 기본값으로 도는 형태가 배포 자동화의 표준입니다.

단계

1. /root/bin/greet.sh 를 만들고 첫 줄을 #!/bin/bash 로 하세요.
2. 그 파일에 실행 권한을 주세요.
3. greet.sh labhub 를 실행하면 정확히 Hello, labhub! 를 출력하게 하세요.
4. 인자 없이 실행하면 Hello, world! 가 되도록 기본값을 넣으세요. 인자를 주면 여전히 그 인자가 쓰여야 합니다.
5. 환경변수 GREETING 이 설정돼 있으면 인사말을 그 값으로 바꾸세요. GREETING=Hi greet.sh labhubHi, labhub!, 설정이 없으면 Hello, GREETING=Yo greet.shYo, world! 가 되어야 합니다.
6. /root/bin/checkfile.sh <경로> 를 만드세요. 일반 파일이면 file, 디렉터리면 dir, 없으면 missing 을 출력합니다.
7. /root/bin/grade.sh <점수> 를 만드세요. 90 이상 A, 80~89 B, 70~79 C, 그 미만 F.
8. /root/bin/deploy.sh 를 만드세요. 환경변수 APP_ENV 를 읽어서

참고

단계 8개

  1. 스크립트 파일과 셔뱅
  2. 실행 권한 주기
  3. 인자를 받아 출력하기
  4. 인자 기본값 처리
  5. 환경변수로 인사말 바꾸기
  6. 파일 종류 판별하기
  7. 점수 등급 매기기
  8. 환경변수 검증과 종료 코드