OS

[Linux Command Line] Bash Scripts 배쉬 스크립트

ride-dev 2024. 1. 11. 15:26

다양한 배쉬 커맨드를 작성 및 조합하고, 이를 실행할 수 있는 파일로 만들 수 있습니다.

The Basic Steps

기본적인 틀은 다음과 같습니다.

(순서를 꼭 지키지 않아도 됩니다)

작성, 권한부여, 명령위치 찾기

1. 스크립트를 작성하여 파일로 저장합니다.

#!/bash/bin

#test script

echo "Hello $USER"
echo "Today is $(date)"
echo "$(date)" >> hello.log

스크립트의 첫번째 줄은 #!(shebang)과 bin, bash를 입력합니다.

(#!은 작성한 스크립트에 대해, PATH변수를 기반으로 처리하여 실행가능하도록 합니다.)

코멘트를 작성하고 원하는 스크립트를 작성합니다.

아래와 같은 방식으로 실행할 수 있습니다.

bash 스크립트파일

단, 다른 설정을 해주지 않았기 때문에 파일의 경로를 잘 지정해줘야 합니다.

2. 그 파일이 실행될 수 있도록 chmod로 실행 권한을 부여합니다.

작성한 스크립트 파일을 실행할 수 있도록 실행에 대한 권한을 부여합니다.

chmod a+x file

팔진법을 사용할 수도 있습니다.

단, 기존 권한을 유지하려면 기존 권한과 매핑되는 자릿수에 +1을 해줍니다.

읽기4 쓰기2 실행하기1 이기 때문입니다.

(기존 권한이 600 이라면 711로)

3. 쉘이 스크립트를 찾을 수 있는지 확인합니다($PATH).

command를 실행할 때, 쉘은 내장변수인 PATH에서 command를 찾습니다.

(쉘은 실행 가능한 프로그램을 찾기 위해 PATH 변수를 살펴봅니다)

스크립트를 어디서나 실행할 수 있도록 PATH를 설정합니다.

내장변수 PATH

PATH 변수는 디렉토리 목록으로 구성되어 있습니다.

(명령어를 실행하면 먼저 /usr/local/sbin에 있는지 살펴보고, 그다음으로 /usr/local/bin 순으로 살펴봅니다)

따라서 명령어를 만드는 작업을 할 때,

PATH 변수가 그 명령어를 찾을 수 있도록 설정해주는 것이 무척 중요합니다.

일반적으로 사용자가 만드는 명령어는 각각의 사용자 디렉토리 내부에 정의하여,

모든 사용자에게 영향을 미치지 않도록 합니다.

일반적으로 사용자별 고유한 스크립트를 정의하는 위치는 home/사용자/bin 입니다.

(.bin이 아닌 bin입니다)

bin에 스크립트 파일을 넣고, 스타트업 파일의 $PATH에 bin을 매핑합니다.

일부 OS에선 bin생성시 $PATH에 자동으로 추가될 수 있습니다

(우분투에서 less .profile 으로 확인가능합니다)

HOME디렉토리 하위에 bin 이 있으면 $PATH에 추가

수동으로 추가하려면 bashrc에 아래 코드를 추가합니다.

PATH="$HOME/bin:$PATH"

 

명령어를 통해 경로를 확인할 수 있는지 살펴봅니다.

echo $PATH | grep 사용자명

스크립트를 생성하고 사용하려면, 위의 과정을 거쳐야 합니다.

728x90