본문 바로가기
Shell

while문 사용법 (shell script)

by yororing 2024. 6. 4.

01 if 문 기본 사용법

1. 기본 형식

  • Shell에서 while문의 조건식은 문자로 표기되어있음
  • 예) ( <, >, = ) 기호가 ( -eq, -lt ) 로 표기됨
  • while 다음에 do, done으로 끝맺힘 
  • [ ] 안에 값/조건식 앞뒤로 공백 없으면 스크립트 에러가 나므로 유의
while [ 값1 조건식 값2 ]
do
    수행문
    수행문
done
  • 예시
#! /bin/ksh

i=1

while [ $i -lt 5 ]
do
    echo $i
    i=$(($i+1))
done
  • -lt: less than
  • 즉, i가 5보다 작으면 계속 i 출
  • 출력값: 1 2 3 4

2. 조건문 종류

비교 대상 종류 설명
문자열
[ -z ] 문자열의 길이가 0이면 참 [ -z $VALUE ]
[ -n ] 문자열의 길이가 0이 아니면 참 [ -n $VALUE ]
== 문자열이 같으면 참  
!= 문자열이 다르면 참  
< 왼쪽의 문자열이 오른쪽의 문자열보다 정렬 시 선행되면 참  
> 오른쪽의 문자열이 왼쪽의 문자열보다 정렬 시 선행되면 참  
조건식 [ -a ] && 또는 and 와 동일, 조건식1과 조건식2 모두 참이면 참  
[ -o ] || 또는 xor과 동일, 조건식1과 조건식2 중 하나라도 참이면 참  


숫자



[ -eq ] 값이 같으면 참  
[ -ne ] 값이 다르면 참  
[ -gt ] 값1 > 값2  
[ -ge ] 값1 >= 값2  
[ -lt ] 값1 < 값2  
[ -le ] 값1 <= 값2  

파일









[ -d ] 파일이 디렉토리면 참 directory  
[ -e ] 파일이 있으면 참  exist  
[ -f ] 파일이 일반 파일 (regular file)이면 참 file  
[ -g ] 파일명이 set-group-id 설정이 되면 참  
[ -L ] 파일이 심볼릭 링크면 참 symbolic Link  
[ -r ] 파일이 본인 권한으로 읽기 가능하면 참 readable  
[ -s ] 파일의 크기가 0보다 크면 참 size  
[ -S ] 파일이 소켓이면 참 socket  
[ -u ] 파일명이 set-user-id 설정이 되면 참  
[ -w ] 파일이 본인 권한으로 쓰기 가능하면 참 writeable  
[ -x ] 파일이 본인 권한으로 실행 가능하면 참 executeable  
[ 파일1 -nt 파일2 ] 파일1이 파일2보다 최신파일이면 참  
[ 파일1 -ot 파일2 ] 파일1이 파일2보다 이전파일이면 참  
[ 파일1 -ef 파일2 ] 파일1이 파일2랑 같은 파일이면   

 

참조

  1. https://jink1982.tistory.com/74
  2.  
  3.  

 

 

'Shell' 카테고리의 다른 글

fatal (exit code variable 종료 상태 변수)  (0) 2024.06.07
test (파일 확인 명령어)  (1) 2024.06.05
Shell Script 함수 만들기  (0) 2024.04.30
Shell 변수 (variable)  (0) 2024.04.30
Shell, Shell Script, .sh란  (0) 2024.04.30