본문 바로가기

programmer/Linux 기본

리눅스 Shell Script 생성하기

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