개발햄비

[shell]shell 기본 문법 변수 , if 문 본문

개발/shell

[shell]shell 기본 문법 변수 , if 문

개발햄 2020. 1. 23. 22:12

shell 기본 문법


쉘을 만들다보면 if문과 변수를 사용할 때가 있습니다 .
java와는 조금 다르기 때문에 아래 기본 문법을 보면서 알아봅시다.

shell 변수 사용



value=0

위는 변수를 담는 과정입니다
java는 int value = 0 과 같이 스페이스를 허용하는 반면
shell의 경우는 스페이스를 넣어선 안됩니다.


nospace=0
space = 1
echo ${noSpace}
echo ${space}

위와 같은 test.sh 파일을 만들고 아래 커맨드를 실행하게 되면


ihanbiui-MacBookPro:Desktop ihanbi$ sh test.sh 
test.sh: line 5: space: command not found
0

과 같이 nospace는 출력되는 반면 space는 인식이 안됩니다.
*참고로 변수를 불려올 때 ${변수명} 또는 $변수명 을 이용하여 호출하시면 됩니다

shell if문


다음은 if문의 예시입니다


test1=1
test2=2

if [[ ${test1} -eq ${test2} ]];then
   수행문
fi 

if [[ ${test1} -ne ${test2} ];then
   수행문
else
   수행문
fi 

if [[ 값1 조건식 값2 ]];then
   수행문
elif [[ 값3 조건식 값4 ]];then
   수행문
else 
fi 

위와 같이 조건식을 사용할 수 있습니다

아래는 조건식 입니다.


[ -z ] : 문자열의 길이가 0이면 참
[ -n ] : 문자열의 길이가 0이 아니면 참
[ -eq ] : 값이 같으면 참
[ -ne ] : 값이 다르면 참
[ -gt ] :  값1 > 값2
[ -ge ] : 값1  >= 값2
[ -lt ] : 값1 < 값2
[ -le ] : 값1 <= 값2
[ -a ] : &&연산과 동일 and 연산
[ -o ] : ||연산과 동일 xor 연산
[ -d ] : 파일이 디렉토리면 참
[ -e ] : 파일이 있으면 참
[ -L ] : 파일이 심볼릭 링크면 참
[ -r ] : 파일이 읽기 가능하면 참
[ -s ] : 파일의 크기가 0 보다 크면 참
[ -w ] : 파일이 쓰기 가능하면 참
[ -x ] : 파일이 실행 가능하면 참
[ 파일1 -nt 파일2 ]  : 파일1이 파일2보다 최신파일이면 참
[ 파일1 -ot 파일2 ]  : 파일1이 파일2보다 이전파일이면 참
[ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참

'개발 > shell' 카테고리의 다른 글

[shell] shell while 문 사용법  (0) 2020.01.25