sh 실행 및 exit 명령어의 의미를 정리해보려고 합니다.
[MAC OS Bigsur] 기준으로 작성하였습니다.
Shell program 첫번째 작성부터 시작하겠습니다.
#!bin/sh
이렇게 맨 윗줄에 적어주고 시작합니다.
첫번째 줄의 의미는 interpretor로 하여금 힌트를 주는 것입니다.
[나는 지금 Shell Programing 을 작성할거야]
물론 사람 마다 기본적으로 path가 다르고 저장된 위치가 cumstomize된 부분에 따라서 다르겠지만
default로 usr/bin/ directory 내부에 저장되어 있습니다.
윗줄을 저렇게 입력 한후 저장한후
ex) zsh test.sh
와 같이 실행하시면 실행이 되는 것을 알 수 있습니다.
물론 저것과 다르고 chmod [change mode] 를 사용해서
관리자 권한을 부여한 후
ex) ./test.sh
위와 같이 실행 할 수 도 있습니다.
exit
비상구.... 삶에 있어서 필요한 단어 입니다.
마찬가지로 프로그램에 있어서 종료 시키는 명령어 입니다.
#!/bin/sh
echo "this is bash shell"
exit [0-255 숫자 가능 , 단 0 이외에는 에러 상태임을 shell 에 전달]
사실 보이는 경우도 있고 보이지 않는 경우도 있지만, 사건의 결과 및 영향성은 자리에 존재하기 마련입니다.
프로그램도 이와 비슷하게 모든 명령어에는 종료했다는 표식이 남습니다.
그래서 그런지는 몰라도 우리가 기능을 만들거나,
함수를 선언해서 사용할 경우에 따라서는 return status[exit status] 를 입력이 필요 또는
자동적으로 입력이 되는 경우들이 있습니다.
[위와 관련된 사례인지는 정확히는 모르겠으나.. 냄새가 나지요?ㅎㅎㅎ]
여튼, 모든 명령어는 기본적으로 끝난 상태를 나타내게 되어 있으며,
보통은 유닉스 계열은 잘 끝나면 [0] 에러가 이상하거나
잘못된 부분이 보이면 [1-255] 까지의 수중에 하나를 쉘에게 전달해 줍니다.
이때, 잘 종료 됬는지 알아보는 방법이 있는데, $? 를 사용하는 것입니다.
스크립트가 끝난후 $?를 호출 함을 통해서 잘 끝났는지 알아보는 것이지요
#!/bin/sh
echo "this is bash shell"
echo $?
위와 같이 작성해서 돌려 보면 ,
"this is bash shell"
0
이라는 결과를 받아 보실 수 있습니다.
exit 100 과 같은 명령어로 error 가 난 상태로 연출도 가능합니다.
'Code > MAC' 카테고리의 다른 글
[MAC OS 단축키] #1 - 크롬 Chrome (0) | 2021.06.04 |
---|---|
[MAC OS Shell] zsh alias 등록 (0) | 2021.05.20 |
[MAC OS Shell] bash zsh 선택 (0) | 2021.05.19 |