[완료]마지막에서 막혔어요!!! ㅠㅠ
3) 강의 노트 4장 35번째 slide의 multi.bash를 응용하여 다음의 요구조건에 맞는 script file “multi”를 작성하여 실행가능하도록 변경한 후 저장하라.
* $ ./multi 인자를 주지 않으면 아래 첫 번째 (예)와 같이 반응하고 끝나도록 해야 함
* $ ./multi 10 인자로 10이상의 값을 주면 아래 두 번째 (예)와 같이 반응하고 끝나도록 해야 함.
위와 같이 인자가 없거나 잘못 주어지면, 교재의 예제는 logout이 되어 버리나 logout되지 않고 새 prompt가 나오도록 만들어야 함.
* $ ./multi 7 인자를 7을 주면 구구단 7단까지 인쇄함(단, 교재처럼 출력이 들쑥 날쑥 하지 않고
일정한 간격으로 정렬되어야 함)
출력까진 어떻게 되는데 출력된거를 정렬시켜야 된답니다. 젠장.
아래 첨부파일에 나온 방식으로 정렬까지 완벽히 해야된다는군요.
아 젠장 거의 다 왔는데... 여기서 막히네요... ㅠ
#!/bin/bash
if [ "$1" = "" ]; then
echo "Usage : multi number"
echo
else if [ "$1" -gt "9" ]; then
echo "Enter a number smaller than 10"
echo
else if [ "$1" != "" ] && [ "$1" -le "9" ] ; then
cat << print
multiplication table x * y
y= 1 2 3 4 5 6 7 8 9
=======================================
print
x=1
while [ $x -le $1 ]
do
echo -n x=$x " "
y=1
while [ $y -le "9" ]
do
echo -n `expr $x \* $y` " "
y=`expr $y + 1`
done
echo
x=`expr $x + 1`
done
fi
fi
fi
자, 위에서 어디를 잘 바꿔야 잘 풀릴까요?
도와주시와요.
첨부 | 파일 크기 |
---|---|
123.JPG | 54.93 KB |
man bash 해보니 printf
man bash 해보니 printf 란 커맨드가 있네요
$ printf "%3d %3d %3d %3d %3d\n" 1 2 3 4 5
1 2 3 4 5
완성!!!!
드디어 완성했습니다!! ㅠㅠ 감사합니다...ㅠㅠㅠㅠㅠㅠ
댓글 달기