Skip to main content

Bourne 셸 – 다음 조건을 만족하는 셸 스크립트를 작성하라.(1)

문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”

댓글 남기기