좋은 인연, 좋은 발견

Shell - if 조건 사용하기 본문

it

Shell - if 조건 사용하기

dohwankim 2018. 7. 16. 16:59

모든 언어(컴퓨터언어)에는 선택을 하도록 프로세싱 됩니다.

Shell Script 도 예외는 아니므로 가장 기본인 if 문에 대해 알아보도록 하겠습니다.


1. if문이란..

컴퓨터 프로세싱 중에는 수많은 명령어들이 순서를 갖고 움직이며 처리됩니다. 하지만 처리되는 방향을 틀거나 처리하고자 하는 명령어를 확인해야되는 경우가 존재하게 됩니다. 이럴 때 조건절을 추가하게 되는데 if문도 여기에 속하게 됩니다.

그러면 이 조건절이라는 것은 무엇인가하니, 단순히 true/false만 갖는 일종에 플래그 입니다. 가령, 스위치라고 생각해도 이해가 쉬울 것 같습니다. Shell Script는 한줄한줄 처리되는 형식을 갖습니다. 그러므로 if문 하나만으로 전혀 새로운 Shell Script가 될 경우가 많습니다.

if문은 이처럼 무엇인가를 확인하고 확인된 값(true/false)에 따른 역할을 할당하는 작업을 할 수 있는 것입니다.


2. if문의 활용

if문의 시작은 if로 시작하며 종료는 거꾸로 fi 로 종료를 알립니다.

..

if [ 값1 조건식 값2 ]; then

   솰라솰라~

fi

 - 기본형식


여기서 한가지 주의할 점은 각 문자사이에 공백을 반드시 넣어줘야하는 것입니다. 잊지말아야 합니다.


3. if문의 조건식

if문은 영어 단어에서도 느낄 수 있듯, 만약에.... 로 시작합니다. 결말은 조건식에서 정해지도록 되어있습니다. 조건식은 if문에서 가장 중요한 역할을 담당하고 있습니다. Shell Script에 사용되는 if에 조건식은 많으므로 적어놓고 틈틈히 확인하며 작업해보도록 하시면 될 것입니다.


3-1. 문자열 조건식

-z 알파 [ 알파의 길이가 0이면 참 ( 보통 PID를 구할 때 많이 사용됩니다. ) ]

-n 알파 [ 알파의 길이가 0이 아니면 참 ]


3-2. 숫자 비교 조건식

숫자1 -eq 숫자2 [ 숫자1과 숫자2가 같으면 참 ]

숫자1 -ne 숫자2 [ 숫자1과 숫자2가 다르면 참 ]

숫자1 -gt 숫자2 [ 숫자1과 숫자2 중 숫자1이 크면 참 ]

숫자1 -ge 숫자2 [ 숫자1과 숫자2 중 숫자1이 크거나 같으면 참 ]

숫자1 -lt 숫자2 [ 숫자1과 숫자2 중 숫자2가 크면 참 ]

숫자1 -le 숫자2 [ 숫자1과 숫자2 중 숫자2가 크거나 같으면 참 ]


3-3. 조건식 연결

조건식1 -a 조건식2 [ 조건식1 and 조건식2, 양쪽 모두 참 일경우에만 참이된다는 말 ]

조건식1 -o 조건식2 [ 조건식1 or 조건식2, 한쪽만 참이어도 참이된다는 말 ]


3-4. 파일 관련 조건식

-d 베타 [ 베타가 디렉토리일 때 참 ]

-e 베타 [ 베타가 존재할 때 참 ]

-L 베타 [ 베타가 심볼릭 링크일 때 참 ]

-r 베타 [ 베타가 읽기 가능할 때 참 ]

-s 베타 [ 베타의 크기가 0 보다 클 때 참 ]

-w 베타 [ 베타가 쓰기 가능할 때 참 ]

-x 베타 [ 베타가 실행 가능할 때 참 ]

베타 -nt 오메가 [ 베타가 오메가보다 최신이면 참 ]

베타 -ot 오메가 [ 베타가 오메가보다 이전이면 참 ]

베타 -ef 오메가 [ 베타가 오메가와 같을 경우 참 ]


4. 마무리

이 글을 마치며 어느 때와 같이 if문을 열심히 공부하는 본인의 모습을 보게되길 바랍니다.

Comments