Shell Programming
- 리눅스 쉘 프로그래밍에 대해 기술한다.
- 쉘 프로그래밍은 bash, sh 등의 명령어를 활용한 로직을 칭하며, 리눅스 환경에서 text 파일 안에 명령어를 작성해 놓고, 실행하는 방식으로 사용한다.
- 명령어가 든 파일의 확장자는 보통 .sh 로 세팅한다. (윈도우 OS의 .batch 와 유사)
.sh 파일 작성
새로 생성된 text 파일은 확장자가 .sh 라도 실행 권한이 없기 떄문에
chmod
명령어로 권한을 수정해야 한다.- ex)
chmod a+x <파일이름>
명령으로 모든 사용자에 대해 실행 권한을 부여할 수 있다.
- ex)
.sh 파일 안에는 shell 명령어들을 사용할 수 있다. 그 외 추가적으로 작성할 수 있는 구문들은 다음과 같다.
#!/bin/bash
: /bin/bash 경로의 shell 로 아래 명령어들을 실행하겠다고 세팅- 쉘 파일을 실행할 때 어떤 shell로 실행될지 설정 하는 구문으로, .sh 파일의 최상단부에 기입한다.
set
:set -e
: 오류나 에러가 발생하면 즉시 스크립트를 종료set -x
: 스크립트 내 실행되는 명령어의 결과를 화면에 출력
echo
: 화면에 문자열을 출력하는 구문 (C언어의 printf, python의 print 와 유사한 역할)echo -e
:\
문자를 escape 문자로 취급해\n
과 같은 특수 문자를 사용할 수 있게 하는 옵션
$#
파라미터 개수를 나타내는 변수- ex)
$ ./myscript.sh param1 param2
명령어로 쉘 스크립트를 실행시켰다면,$#
은 2이다.
- ex)
$1
: 첫 번째 파라미터$2
: 두 번째 파라미터$@
: 모든 파라미터- ex)
$ ./myscript.sh param1 param2
명령어로 쉘 스크립트를 실행시켰다면,$@
은param1 param2
이다.
- ex)