cmd 기반의 리눅스 환경에서 작업을 진행할 때 지속적으로 작업해야 하는 명령어들을 한 번에 모아서 실행하고 싶을 때가 있다.
이때 쓰기 쉬운방법이 Shell script를 사용하는 것이다.
test.sh 파일 예제를 들어 설명해 보도록 하겠다.
$vi test.sh
"키입력 i" <-- 파일 내용 아님
cd ..
ls
"키입력 Esc > : > wq > enter" <-- 파일 내용 아님
$ls -la
이렇게 생성하고 나면 단순히 cd .. 과 ls를 수행하는 test.sh 파일이 생성된다.
작성 시 유의점은 한 줄마다 하나의 명령어를 수행한다는 개념을 가져야 한다.
생성된 test.sh의 권한을 보면 사용 권한이 없다 따라서
실행 권한을 추가한다.
$chmod a+x test.sh
이제 실행할 준비가 되었다.
하지만 script를 실행하는 방법은 2가지가 있다. 바로 ./'파일명' 와 source '파일명' 이다. (./는 띄어쓰기가 없다 source는 띄어 써야 한다.)
이 둘의 차이는 현재 실행한 Shell의 Process를 사용할 것이냐, 아니면 새로운 Process를 생성해 해당 스크립트를 실행하느냐이다. 보통 환경변수를 해당 shell에 적용할 것이냐 안 할 것이냐에 따라 쓰이지만 응용은 엄청 많다.
cd 명령어만 사용해 봐도 이 차이를 쉽게 알 수 있다. 수행 명령에 따라 실행이 종료된 후의 파일 위치가 변경된 것을 확인할 수 있다.
우리가 수행했던 shell 명령어를 그림으로 설명해 보았다. 도움이 됐으면 좋겠다.
반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기
'programmer > Linux 기본' 카테고리의 다른 글
ubuntu Swig 설치 (0) | 2020.09.11 |
---|---|
Docker Already in use by container 에러 (0) | 2020.08.05 |
Docker 설치 후 Permission denied 에러 (0) | 2020.08.05 |
Target Ethernet 설정 하기 (0) | 2020.03.16 |
Target Serial 통신하기 (0) | 2020.03.16 |