쉘에 대한 이해3
사용자별 쉘 설정파일
- 쉘 스크립트
한마디로 명령어들의 모음이다. 명령어를 파일형태로 만들어 자동으로 실행되게끔 수행하게 만드는 것을 쉘 스크립트라고 한다.
쉘 스크립트 안에 명령어들은 순차적으로 실행되게 된다.
- 사용자의 홈 디렉터리로 존재
- bash에서 사용하는 기본 설정 파일
.bash_logout .bash_profile .bashrc
사용자의 홈 디렉터리에 내용을 보면 기본 설정 파일이 들어가 있다는 것을 확인할 수 있다.
쉘 스크립트 간단한 예제
/study 디렉터리와 /test 디렉터리에 있는 내용을 백업을 하고 싶다.
1) /backup 디렉터리가 존재한다면 삭제한다.
2) 백업할 디렉터리를 생성한다.(/backup)
3) /study 디렉터리에 있는 파일들을 복사한다.
4) /test 디렉터리에 있는 파일들을 복사한다.
5) /backup 디렉터리를 /tmp/ 디렉터리로 이동한다.
6) 백업 -> 다른장치로 복사한다.
7) /backup 디렉터리를 삭제한다.
이 명령어들을 모두 치는 것보다는 쉘 스크립트를 이용해 실행시켜보고자 합니다.
현재 /study 디렉터리와 /test 디렉터리에는 아래와 같은 파일이 있습니다.
vi backup.sh 를 통해 쉘 스크립트를 만들어줍니다.
여기서 .sh로 쓴 이유는 쉘이라는것을 보기 쉽게 해준 것입니다. 따라서 그냥 backup으로 해도 상관은 없습니다.)
vi를 쓸때에는 맨 윗줄에 #!/bin/sh 이라는 명령을 쳐 주어야 합니다. 그 이유는 쉘 스크립트를 실행하라는 뜻입니다.
중간에 보면 if 문을 쓴 것을 볼 수 있는데 그 부분은 man bash 로 확인해 볼 수 있습니다.
쓰는 방법 : if 리스트 then 리스트 [elif 리스트 then 리스트]... [else 리스트] fi
그러면 ls명령을통해 backup.sh가 생성되었다는 것을 볼 수 있습니다. 하지만 실행권한이 없기 때문에 쉘 스크립트를 실행시킬 수 없습니다.
이때 chmod 명령을 통해서 실행권한을 주어 쉘 스크립트를 실행시킬 수 있도록 만들어 줍니다.
그러고 나서 ./backup.sh 로 실행시켜보면 실행되었음을 확인할 수 있습니다. 원래는 /tmp파일에서도 지워지기 때문에 확인해 볼 수 없지만,
지우기 전단계까지 만들어서 확인시켜보았습니다. 아래와 같이 쉘 스크립트를 실행만으로 알아서 명령에 따라 복사되었음을 볼 수 있습니다.