셸 스크립트 작성
원하는 파일을 생성 ( 파일명.sh)
✓ ".sh" 는 쉘 스크립트라는 것을 알 수있도록 확장자 지정한 것
#!/bin/bash
echo "Hello"
ls -a
- #!/bin/bash : 셔뱅(shebang)은 #!
- 셔뱅 : 셸 스크립트 파일을 작성할때 최상단에 작성하는 문구 중 #!
- 파일의 최상단에 위치
- 그담에 오는 명령어로 해당 쉘 스크립트를 무엇으로 실행할 것인지 명시하는 역할
- #!/bin/bash → bash 로 해당 쉘 스크립트를 실행
실행 권한 부여
$ chmod +x shellScript.sh
실행
# 3가지 방법 다 동일하게 작동
$ ./shellScript.sh
$ bash ./shellScript.sh
$ source ./shellScript.sh
✓ 두번째와 세번째 실행 방식은 파일에 셔뱅으로 bash 를 지정 안해도 실행 가능
실행 방법에 의한 차이
파일 이름만으로 실행
셔뱅에 무엇을 이용하여 파일을 실행할 것인지 명시 필요
셸의 인자로 지정하여 실행
이미 bash 로 실행하겠다고 지정하여서 shebang에 지정을 안해도 실행가능
source 명령어를 이용한 실행
위 두가지 방식과 동작방식 상의 차이점 존재
→ 현재 설정된 shell 을 기준으로 파일에 기재된 커맨드 라인이 실행
→ 현재 shell 에 설정된 환경에 영향을 받음 : 설정된 별명을 스크립트 안에서 사용가능
→ 현재 shell 환경에 영향을 줌 : 별명을 설정가능, 터미널이 재실행되면 설정된 별명 존재 안함
※ 예시
test.sh
"""""""
#!/bin/bash
alias lsalf='ls-alF'
"""""""
$ lsaf
명령을 찾을 수 없습니다.
$ source ./test.sh
$ lsaf
실행된 결과 출력
>> 터미널을 재 시작하고 lsaf 를 쳐보면 별명이 설정 안되어 있다는것을 확인 가능
shell script 배치용 디렉터리
셸 스크립트를 cat 이나 ls 처럼 이름 만으로 실행가능한 방법
1. 셸 스크립트를 ~/bin 으로 이동
$ mkdir ~/bin
$ mv homesize.sh ~/bin
2. vim 으로 ~/.profile 에 내용추가
$ vim ~/.profile
....
....
PATH = "$PATH: ~bin"
...
3. 재시작후 source 명령어 실행하여 검색 경로에 추가
$ source ~/.profile
▶▶▶ 어디에서든지 파일명으로 실행가능
'책 > 모두의 리눅스' 카테고리의 다른 글
[ 책 ] [ 모두의 리눅스 ] 16장 제어구조 if (0) | 2024.04.10 |
---|---|
[ 책 ] [ 모두의 리눅스 ] 16장 셸 스크립트 작성법 (0) | 2024.04.09 |
[ 책 ] [ 모두의 리눅스 ] 14장 : awk (오크) : 패턴 검색 및 처리 (0) | 2024.04.06 |
[ 책 ] [ 모두의 리눅스 ] 14장 sed (Stream Editor) 명령어 (0) | 2024.04.06 |
[ 책 ] [ 모두의 리눅스 ] 13장 확장 정규 표현식 (0) | 2024.04.04 |