생활코딩/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
반응형