쉘 스크립트(shell script) 작성, 명령어 알아보기
14 Jan 2019 | shell script ubuntu쉘 스크립트(shell script) 작성, 명령어 알아보기
딥러닝 모델을 학습시키다 보면 중간중간 파라미터를 바꿔줘야 할 때가 생긴다. 이 때 가장 요긴하게 쓸 수 것이 쉘 스크립트다. 본 글에서는 쉘 스크립트를 만들고 실행 시키고, 유용한 명령어들을 간단하게 정리한다.
쉘 스크립트 작성
touch filename.sh
로 쉘 스크립트 파일 생성- 첫 줄에
#!/bin/bash
를 적고, 그 밑에줄부터 내용을 쓴다.- 스크립트 파일을 bash 쉘로 실행시킨다는 의미.
- 구지
#!/bin/bash
을 적지 않아도 실행이 되지만, 그것은 리눅스(우분투)배포판이 기본적으로 bash 쉘로 설정되어 있기 때문. #!/bin/bash
를 작성하는 것이 쉘 파일임을 미리 알려주는것이므로 다른 쉘간의 오류를 방지 할 수 있음!#!/bin/bash
,#!/bin/sh
둘 다 혼용이 가능함(둘중 하나만 적으면 됨)
- 작성 예시
#!/bin/bash
echo 'Hello, World!'
파일 쓰기/읽기 권한 주기
- 기본적으로 생성 된 쉘 스크립트는 파일 쓰기 권한이 없다.
sudo chmod +x script_filename.sh
로 읽기/쓰기 권한을 준다.
실행 시
- 해당 스크립트가 존재하는 디렉터리에서
./script_filename.sh
로 실행 시킨다.
간단한 명령어들
주석 처리
- 한 줄 주석 처리는 해당 줄 맨 앞에
#
을 붙여서 주석 처리한다. - 여러 줄 주석 처리는 주석 시작 부분에
:<<'END'
, 주석의 끝에END
를 적어서 주석 처리한다.
변수 선언
- 변수를 선언하여 내부 기본적인 연산이 가능하다.
- 변수 선언시에는 공백이 없이 선언되어야 한다.
a = 1
(x),a=1
(O)
변수 및 글자 출력
echo '내용'
으로 출력한다.
명령어 처리
- 명령어는 터미널에 치는 명령어를 그대로 치면 된다.
- 단, 한 번에 하나의 명령어를 수행하게끔 맨 끝에
;
을 붙인다. - 예를 들어,
hello.py
라는 파일을 실행 시키고 싶은 경우
#!/bin/bash
python3 hello.py;
- 만약 여러개의 파일을 순차적으로 실행시키고 싶은 경우 대괄호(
{}
)로 명령어를 묶는다. - 예시
#!/bin/bash
echo '다중 파일 순차 실행'
{
python3 hello1.py;
python3 hello2.py;
python3 hello3.py;
}
- [참고 글]
http://one2many.tistory.com/15