[Linux] 실행파일 만들기 (.sh)
Operating System/Linux

[Linux] 실행파일 만들기 (.sh)

 

실행파일 (.sh 파일) 왜 쓰는지?

.sh 파일을 실행하는 것의 의미는 윈도우의 exe 파일을 클릭하는 것과 같다. 사용자가 직접 코드를 돌리기 위한 길고 긴 명령어를 입력하지 않아도 클릭하나로 파일을 실행할 수 있듯이 리눅스에서도 사용자는 쉽게 실행파일의 이름만 입력해서 프로그램을 가동시킬 수 있는 것!!

실행파일 만들기

예를 들어 내가 만든 프로그램을 돌리기 위해 작성해야하는 명령어가 GPU설정부터 다양한 옵션까지 아래처럼 길다고 하면 매번 프로그램을 돌릴때마다 이 명령어를 치는 것은 번거롭다. 그래서 실행파일에 아래 명령어를 담아 사용하는 것이다!

CUDA_VISIBLE_DEVICE=0 python test.py -n 2000 -b 100 -o "test1"

vi exe.sh 로 exe라는 이름의 실행파일을 생성해서 수정한다.

#!/bin bash로 시작 exit 0은 sh 코딩 문법이라고 생각하면 된다.

#!bin/bash는 .sh파일을 실행하기 위한 문법이다. 이렇게 작성하고 (wq)로 저장한다.

실행파일로 실행하기

아까 작성한 exe.sh파일을 바로 실행하면 어떻게 될까? 실행이 안될 것이다.

이 파일은 처음 작성했을 때에는 읽기 권한과 쓰기 권한만 디폴트로 권한 설정이 되어있다. 파일을 실행하기 위해서는 실행 권한이 필요하다.

실행 권한을 주기 위해서는 chmod+x<exe.sh>으로 실행권한을 추가해야한다.

권한 설정 후에는 쉘화면에서 실행파일 설정하기 위해 아래 명령어를 사용한다.

./exe.sh

sh exe.sh