리눅스/정보
Shell script
짱짱이_
2023. 7. 23. 21:51
자주 입력해줘야 하는 명령이나 입력하기 복잡한 명령을 저장해놨다가 불러와서 실행시킬 때 이용한다.
shell에서 실행되는 명령들을 적어놨다가 불러오는 기능이다.
- log파일을 backup할 때
1. 임의로 log 파일 생성한다.
touch a.log b.log c.log
2. bak 디렉토리 생성을 한 후 log 파일을 옮긴다.
mkdir bak
cp *.log bak # log로 끝나는 모든 파일을 복사하고 bak에 저장한다
3. log 파일이 업데이트되어 다시 덮어쓰고 싶다면 (bak 디렉토리가 있는 경우)
cp *.log bak
- Shell script 작성
nano backup
#!/bin/bash
### backup이라는 프로그램을 실행시킬 때 bin/bash를 이용해 해석된다는 의미
if ! [ -d bak ]; then
mkdir bak
fi
cp *.log bak
if -d 디렉토리이며 존재하고 있는지 유무를 따질 때 이용한다.
if [ -d bak ]; 현재 디렉토리에 bak 디렉토리가 존재하는지 확인한다.
fi 조건문이 끝났음을 알려준다.
script를 ctrl+x, Y 입력을 통해 저장 후 ./backup 을 입력해 실행시킨다.
권한이 없다는 에러가 뜬다면 다음의 명령을 입력해 권한을 준다.
chmod +x backup
-rw .. 뒤에 -x가 추가된 것을 확인할 수 있다. 여기서 x는 excutable 실행 가능하다는 의미이다.
이후 ./backup 명령을 통해 실행시킬 수 있다.