회사에서 스크립트 파일을 통해 CI/CD를 제공하는데
Shell Script 문법을 알아야 이해가 되기 때문에
정리를 해볼려고 한다.
정리 방법은 임의의 파일을 만들고
명령어를 실행 하면서 정리하고 한다.
Shell Script란?
- Shell 이나 CLI 구동되도록 작성된 스크립트.
- 여러 명어들이 나열된 스크립트 파일이 자동으로 실행 또는 행위
- Interpreter 방식으로 작동
셔뱅 어원은 유닉스 계열에서 다음과 같다고 한다.
sharp(#) + bang(!) 합성어 > Sha-bang
Shebang은 CLI(Command Line Interface)에서 실행시키는
스크립트의 맨 처음 온다.
Shebang이 있는 스크립트는 프로그램 실행 시, 프로그램 로더가
스크립트 첫 줄의 부분을 Interpreter 지시자로 구문을 분석함.
#!/bin/bash
echo $(which bash)
$ chmod +x shebang.sh
#!/bin/bash
variable="x다" # 변수 선언
param="y다" # 변수 선언
echo '실행된 파일명($0) > '$0'' # 있는 그대로 표현 => ''
echo '스크립트 실행 시 전달된 파라미터 갯수($#) > '$#''
echo '쉘 스크립트 PID($$) > '$$'' # 있는 그대로 스트링에서 변수 표현 => 'string '변수명''
echo "variable=${variable}"
echo "param=${param}" # 변수 표현
variable=${param} # 변수에 다른 변수값 할당
echo "param 대입 후 variable 값은 >> ${variable}"
#!/bin/bash
echo "----------------------Sender > Start ----------------------"
user_name="david"
app_name="QA"
project_path=$(pwd)
echo "user_name > ${user_name}"
echo "app_name > ${app_name}"
echo "project_path > ${project_path}"
echo "----------------------Sender > End ----------------------"
echo ""
sh receiver.sh ${user_name} ${app_name} ${project_path}
#!/bin/bash
user_name="$1"
app_name="$2"
project_path="$3"
echo "-----------------------start receiver-----------------------"
echo "receive param > user_name > ${user_name}"
echo "receive param > app_name > ${app_name}"
echo "receive param > project_path > ${project_path}"
쉘 스크립트를 이해하는데
가장 기초적인 변수 할당 및 사용법
그리고 스크립트 실행을 살펴 보았습니다.
쉘 스크립트는 변수 할당이
참 애매해서 헷갈리는 부분이
개인적으로 많았네요 😵💫
다음 PART2 에서는 함수, 조건문, 반복문의
예시로 뵙겠습니다.