문1]. "test" 명령을 사용하여 현재 로그인한 사용자가 몇 명인지를 계산하는 셸 프로그램을 작성하라.

답1]. userID="root"
        count=0
        for n in `users`
        do
                if [ $userID != $n ]
                then
                        userID=$n
                        count=`expr $count + 1`
                fi
        done
        echo "현재 로그인한 사용자 수 : $count"

문2]. 반복문(while, for, until)을 사용하여 구구단을 표시하는 셸을 작성하라. (그냥 제가 보기 좋게 출력되도록 해봤습니다.)

답2]. #while 문 사용시
        a=1
        while [ $a -le 9 ]
        do
                b=2
                while [ $b -le 5 ]
                do
                        echo "$b * $a = `expr $a * $b` \t\c"
                        b=`expr $b + 1`
                done
                echo
                a=`expr $a + 1`
        done
        echo
        a=1
        while [ $a -le 9 ]
        do
                b=6
                while [ $b -le 9 ]
                do
                        echo "$b * $a = `expr $a * $b` \t\c"
                        b=`expr $b + 1`
                done
                echo
                a=`expr $a + 1`
        done
        echo

        # for 문 사용시
        for n in 1 2 3 4 5 6 7 8 9
        do
                for m in 2 3 4 5
                do
                        echo "$m * $n = `expr $n * $m` \t\c"
                done
                echo
        done
        echo
        for n in 1 2 3 4 5 6 7 8 9
        do
                for m in 6 7 8 9
                do
                        echo "$m * $n = `expr $n * $m` \t\c"
                done
                echo
        done
        echo

        # until 문 사용시
        x=1
        while [ $x -gt 9 ]
        do
                y=2
                while [ $y -gt 5 ]
                do
                        echo "$y * $x = `expr $x * $y` \t\c"
                        y=`expr $y + 1`
                done
                echo
                x=`expr $x + 1`
        done
        echo
        x=1
        while [ $x -gt 9 ]
        do
                y=6
                while [ $y -gt 9 ]
                do
                        echo "$y * $x = `expr $x * $y` \t\c"
                        y=`expr $y + 1`
                done
                echo
                x=`expr $x + 1`
        done
        echo

문3]. "expr" 명령을 이용하여 "a + b = 4", "a + 2b = 6"을 만족하는 방적식에서 a와 b값을 구하는 셸 스크립트를 작성하라.

답3]. a=0
        while [ $a -le 10 ]
        do
                b=0
                while [ $b -le 10 ]
                do
                        if [ `expr $a + $b` -eq 4 -a `expr $a + 2 \* $b` -eq 6 ]
                        then
                                echo "a = $a, b = $b"
                                exit
                        fi
                        b=`expr $b + 1`
                done
                a=`expr $a + 1`
        done

문4]. 사용자로부터 숫자를 입력받아서 이를 출력하는 셸 스크립트를 작성하라.

답4]. echo "Enter number : \c"
        read num
        echo "number : $num"

신고

+ Recent posts