본문 바로가기
SWE/Linux

Shell Script 활용법 | 리눅스 개발서버에서 나만의 startup file 만들고 싶다!!!

by S나라라2 2019. 11. 22.
반응형

내가 개발서버 들어가서 build할 때는 항상 폴더를 최소 5번 들어가야함! 

이런 귀찮음을 줄이고자 bash shell script를 작성하고자 했음

 

다양한 방법이 있겠지만, 내가 시도한 것은 2개

(1) bashrc 에서 로그인 시 alias 별칭 만들어놓기

-> 현재 개발 서버 환경이 어떤 구조인지 모르겠음.. 그래서 맘대로 bashrc를 수정했다가 다른 개발자분들에게도 피해갈까봐 무서워서 못하고있음... ㅠㅠ

bashrc 구조랑 현재 개발환경 구조를 이해한 다음에 수정해봐야겠다.

 

(2) bash shell script 작성. 실행 시 파라미터 넘겨줘서 해당 파라미터에 따라 폴더 이동시킴

-> 장점 : 그나마 조금 편함

-> 단점 : shell script가 위치하는 폴더에서만 명령어가 실행됨

 

 

2번 방법

 

먼저 shell 파일을 생성한다. 나는 nano editor를 주로 사용하는 vi 등 다른 에디터를 사용해도 무관하다.

// shell script 파일 생성
$nano mysetting.sh

 

// shell script
#!/bin/bash
if [ "$1" == "build" ]
then
	cd </home1/ ... 이동하고 싶은 폴더 위치>
elif [ "$1" == "src" ]
then
	cd </home1/ ... 이동하고 싶은 폴더 위치>
fi

Shell Script 코드 설명

bash script 시작 부분에는 항상 #!/bin/bash를 작성해야만 한다. 필수!

이건 경로를 의미하는데, /bin폴더에 있는 bash를 실행시켜서 script의 명령어를 읽고 실행시키는 것이다.

 

shell script에서는 조건물을 if, then, elif, fi로 쓴다. c++과 비슷한듯 다른듯.

fi 를 까먹지 않도록 유의한다.

 

'$'문자는 파라미터를 의미한다.

프로그램을 실행할 때 전달해주는 첫번째 파라미터는 $1, 두번째 파라미터는 $2

 

cd는 리눅스 명령어로 현재 있는 위치를 이동시킨다. 

 

 

위의 코드를 실행시키기 위해서는 아래와 같은 명령어를 타이핑한다.

// 실행
$. ./mysetting.sh build   // 가장 앞에 '.'을 꼭 찍어줘야 명령어 실행 후에 현재 위치로 돌아오지 않는다.

 

 프로그램 실행 설명

위의 코드에서 mysetting.sh 다음에 오는 'build'가 첫번째 파라미터 $1이다.

 

따라서 첫번째 조건 if [ if [ "$1" == "build" ] 에 만족하여

cd <home/ ...> 명령어가 실행된다. 즉, home/...아래의 디렉토리로 이동한다.

 

반응형