본문 바로가기

Test Code/Linux

Shell 스크립트 - 기본

**. 리눅스 Shell 스크립트



#! /bin/bash

# 변수에 값 대입
var1=10
var2=20

# 연산 처리
ret=`expr $var1 / $var2`

# 디스플레이
echo "결과값 : $ret"

# 입력 받기
echo -n "입력하세요. : "
read input
echo "입력 받은 값은 $input 입니다."

# 숫자 비교
if [ $var1 -gt $var2 ]
then
    echo "var1 > var2"
elif [ $var1 -lt $var2 ]
    echo "var1 < var2"
else
    echo "var1 = var2"
fi

# 문자 비교
str1="abcd"
str2="ABCD"
if [ $str1 = $str2 ]
then
    echo "abdc = ABCD"
else
    echo "abdc <> ABCD"
fi

# 다중 비교 띄워쓰기 \( , \)
num=10
if [ \( $num -lt 5 \) -o \( $num -gt 9 \) ]
then
    echo "5보다 작거나 9보다 큽니다."
else
    echo "5보다 크고 9보다 작습니다."
fi

if [ \( $num -gt 5 \) -a \( $num -lt 9 \) ]
then
    echo "5보다 크고 9보다 작습니다."
else
    echo "5보다 작거나 9보다 큽니다."
fi


# For 문
for i in 1 2 3 4 5 6 7 8 9
do
    echo $i
done

filelist=`ls /bin`
for file in $filelist
do
    echo $file
done

filelist=`find /bin | grep whi*`
for file in $filelist
do
    echo $file
done

# while 문
while [ $num -gt 0 ]
do
    echo $num
    num=`expr $num - 1`
done

# case 문
echo -n "Input y/n "
read input
echo $input

case $input in
    y|Y)
        echo "y";;
    n|N)
        echo "n";;
    *)
        echo "잘못입력하였습니다. $input"
        
esac

# 함수
fun_add()
{
    sum=`expr $1 + $2`
    return $sum
}

fun_add 10 20
result=$?
echo $result