쉘 스크립트(shell script) 작성, 명령어 알아보기

|

쉘 스크립트(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