쉘 스크립트 공부중 달력 만들어 보고잇는데..
글쓴이: nikon / 작성시간: 수, 2016/10/12 - 10:35오전
c언어에서 했던 순서대로 그대로 쉘에서도 헬로 월드 찍어보고 하나하나 공부하다
이제 만년 달력 만들어 보려고 하는데.
lastDay=(31 0 31 30 31 30 31 31 30 31 30 31) totalDay=0 k=1 i=1 j=1 echo -n "년도 입력 : " read inputYear echo -n " 월 입력 : " read inputMonth echo " $inputYear 년 $inputMonth 월 " echo "-----------------------------" echo " 일 월 화 수 목 금 토 " if [ "`expr $inputYear % 4`" -eq 0 -a "`expr $inputYear % 100`" -ne 0 -o "`expr $inputYear % 400`" -eq 0 ] then lastDay[1]=29 else lastDay[1]=28 fi totalDay=`expr \( $inputYear - 1 \) \* 365 + \( $inputYear - 1 \) / 4 - \( $inputYear - 1 \) / 100 + \( $inputYear - 1 \) / 400` while [ $k -le `expr $inputMonth - 1` ] do totalDay=`expr $totalDay + ${lastDay[$k - 1]}` k=`expr $k + 1` done h=1 d=0 while [ $i -le 6 ] do while [ $j -le 7 ] do if [ $h -le `expr ${lastDay[$inputMonth - 1]} + 1 + $totalDay % 7` ] then d=`expr $h - $totalDay % 7` if [ `expr $d - 1` -le 0 ] then echo " "; else echo " `expr $d - 1`" fi fi echo "" j=`expr $j + 1` h=`expr $h + 1` done echo "" i=`expr $i + 1` done
오류가 뜨네요.. 오류가 하나 떠서 하나 고치면 새로 뜨고 해서 딱히 오류명을 기입하지는 않앗는데요..
잘 못 된 부분이 뭐가있을가요?
c언어에서 짯던형식을 그냥 쉘로 옮겼는데 안되네요 ㅠ
Forums:
code를 올릴 때는 ~ block을 이용해 주세요.
code를 올릴 때는 <code>~</code> block을 이용해 주세요. shell script의 경우에는 <code lang="bash">~</code>와 같이 사용하시면 syntax highlighting이 가능 합니다.
그리고, bash에서 수학식을 `expr expression` 으로 하면 sub shell이 열리니 다음과 같이 사용해 주시는 것이 더 좋습니다.
a=$[ 1 + 1 ]
또는
a=$(( 1 + 1 ))
조언 감사합니다.
참고 하겠습니다~
원래의 C 코드가 어떤지 짐작이 가지 않는데요...
원래의 C 코드가 어떤지 짐작이 가지 않는데요...
bash>=2.0 이상이라면,
그나저나... 올 해 크리스마스가 일요일이네요.
헐 올해 크리스마스가 일요일이라니...........
헐 올해 크리스마스가 일요일이라니...........
댓글 달기