본문 바로가기

LINUX

(44)
09. 함수 함수 함수와 파라미터를 사용하는 형식은 아래와 같다. 함수이름() { $1, $2 .. 등을 사용 return } 함수이름 파라미터1 파라미터2 .. -> 함수를 호출 # func.sh #!/bin/sh sum () { return `expr $1 + $2` } echo "10 + 20 = " sum 10 20 exit 0 파라미터 shift 명령으로 사용자 입력 파라미터를 하나씩 얻어낼 수 있다. 파라미터의 시작은 $1 부터이다. # shift.sh #!/bin/sh myfunc(){ sumStr="" while [ "$1" != "" ] do str="$sumStr $1" shift done echo $sumStr } myfunc aa bb cc dd exit 0 $sh shift.sh aa bb c..
08. AND, OR 연산자 AND , OR 연산자 && , || 을 그냥 사용하면 된다. # file_check.sh #!/bin/sh fname=/lib/systemd/system/cron.service if [ -e $fname && -s $fname ] then head -5 $fname else echo "cron 서버가 설치되지 않았습니다." fi exit 0
07. while 반복문 while 반복문 조건식이 참인 동안에 계속 반복한다. 조건문이 항상 참이라면, do와 done 사이의 문장이 무한 루프 가 된다. break, continue 와 같이 사용한다. 보통 아래의 형태로 많이 사용된다. while [ 조건문 ] do 실행문 done # while.sh #!/bin/sh sum=0 i = 1 while [ $i-le 10 ] do sum=`expr $sum + $i` i=`expr $i + 1` done echo "Sum :" $sum exit 0 until 반복문 while 순환문과 반대다. 조건문이 항상 거짓이라면, do와 done 사이의 문장이 무한 루프 가 된다. break, continue 와 같이 사용한다. 보통 아래의 형태로 많이 사용된다. until [ 조건문 ..
06. for 반복문 for ~ in 반복문 for 변수 in 값1 값2 값3 do 반복할 문장 done # sum.sh #!/bin/sh sum=0 for i in 1 2 3 4 5 do sum=`expr $sum + $i` done echo "Sum :" $sum exit 0
05. case 조건문 case ~ esac 조건문 특정 값을 받아들여서, 이 값과 일치하는 문장을 실행 한다. *) 비교문자열은 다른 모든 문자열을 가리킨다. case 문자열 in 비교문자열1) 실행문1 비교문자열2) 실행문2 *) 실행문3 esac # file_check.sh #!/bin/sh case "$1" in start) echo "Start"; stop) echo "Stop" *) echo "Default" esac exit 0
04. if 조건문 if ~ fi 조건문 조건문에서 주의할 점은 띄어쓰기며 전체적으로 띄어쓰기가 한칸씩 들어간다. if [ 조건 ] then 참일 경우 실행 fi # if_test.sh #!/bin/sh if [ "$1" = "woo" ] then echo "True" fi exit 0 $> sh if_test.sh woo True if ~ else ~ fi 조건문 조건문에서 주의할 점은 띄어쓰기며 전체적으로 띄어쓰기가 한칸씩 들어간다. if [ 조건1 ] then 실행문1 elif [ 조건2 ] then 실행문2 else 실행문3 fi 아래와 같은 구문을 가진다. # if_test.sh #!/bin/sh if [ "$1" = "woo" ] then echo "True" else echo "False" fi exit 0 $..
03. 파라미터 파라미터 파라미터 변수는 $0, $1, $2 형태를 가진다. $0 은 실행 파일명이며 $1 부터는 파라미터들이다. 전체 파라미터는 $* 으로 표시한다. # 파라미터 param.sh #!/bin/sh echo "ShellFileName : $0" echo "FirstParameter : $1" echo "SecondParameter : $2" echo "TotalParameter : $*" exit 0 $> sh param.sh 값1 값2 ShellFileName : param.sh FirstParameter : 값1 SecondParameter : 값2 TotalParameter : 값1 값2
02. 숫자계산 쉘에서는 변수가 모두 스트링으로 기본 해석되기 때문에 expr 지시어를 사용하여 숫자 연산을 해야 한다. 역따옴표 를 사용하며 수식중 괄호 ( ) 및 곱하기 * 수식의 경우는 역슬레쉬를 붙여줘야 한다. 그리고 숫자와 수식은 공백으로 구분져야 한다. # expr 사용법 #!/bin/sh num1=100 num2=`expr \( $num1 + 200 \) / 100 \*5` echo $num2 # 결과 750