내가 개발서버 들어가서 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/...아래의 디렉토리로 이동한다.