정리정돈

Shell script 본문

생활코딩/linux

Shell script

XZXXZX 2021. 8. 9. 15:15
728x90
반응형

평소에 자주 사용하는 명령어를 미리 적어두고 해당 명령어를 한번에 실행시킬 수 있게끔 해준다.

 

스크립트 작성(예시)

nano backup

backup이라는 이름의 스크립트를 만들어준다.

 

스크립트에 아래와 같이 적는다.

 

#!/bin/bash
if ! [-d  bak]; then   #만약 bak 디렉토리가 없다면
        mkdir bak # bak 디렉토리를 생성한다.
fi # if 문 종료
cp *.log bak # bak디렉토리 안에 .log 확장자 파일 모두를 복사한다.

 

#!/bin/bash : 작성한 코드는 'bash를 통해 해석되어야 한다.'는 의미를 가진다.

-d 디렉토리명 :  -d 는 디렉토리를 의미

[] : 현재 디렉토리 안에

! : 존재하지 않는다면(not)

then : 그렇다면

mkdir 디렉토리명 : (디렉토리명) 디렉토리를 생성한다.

fi : 조건문 종료

cp 파일명 디렉토리명 : (디렉토리명) 디렉토리에 파일을 복사한다.

 

./backup #backup이라는 파일을 실행한다.

./파일명 : 현재 디렉토리의 (파일명)파일을 실행한다.

 

실행하려고 하면

zsh: permission denied: ./backup

실행이 거부된것 을 볼 수 있다. 권한이 없기 때문에 해당 파일을 실행할 수 없는 것이다.

 

total 8
drwxr-xr-x   6 user  staff   192 Aug  9 14:54 .
drwx------@ 41 user  staff  1312 Aug  9 14:53 ..
-rw-r--r--   1 user  staff     0 Aug  9 14:54 a.log
-rw-r--r--   1 user  staff     0 Aug  9 14:54 b.log
-rw-r--r--   1 user  staff    60 Aug  9 14:54 backup
-rw-r--r--   1 user  staff     0 Aug  9 14:54 c.log

 

backup 을 보면 실행할 수 있는 권한이 없는 것을 볼 수 있다.

 

chmod +x backup

 

chmod(change mod)로 backup 파일에 실행할 수 있는 권한을 추가해준다.

 

total 8
drwxr-xr-x   6 user  staff   192 Aug  9 14:54 .
drwx------@ 41 user  staff  1312 Aug  9 14:53 ..
-rw-r--r--   1 user  staff     0 Aug  9 14:54 a.log
-rw-r--r--   1 user  staff     0 Aug  9 14:54 b.log
-rwxr-xr-x   1 user  staff    60 Aug  9 14:54 backup
-rw-r--r--   1 user  staff     0 Aug  9 14:54 c.log

 

backup 파일을 보게되면 x가 추가되어 실행시킬 수 있는 권한이 생긴 것을 볼 수 있다.

backup 파일의 색깔도 달라진것을 확인할 수 있다.

 

shell script는 사용해야할 명령어들을 모아두고 순서대로 실행할 수 있게한다.

728x90
반응형

'생활코딩 > linux' 카테고리의 다른 글

Shell(zsh, bash)  (0) 2021.08.09