Оболочка программирования linux Календарь команды - PullRequest
0 голосов
/ 07 декабря 2018

все 4-значные годы должны передаваться без изменений, включая 4-значные годы, которые меньше 100. Как я могу позволить людям говорить что-то вроде 0004, на тот случай, если им действительно нужен календарь на 4 год нашей эры?Спасибо, если вы можете помочь мне с сценарием оболочки, я застрял.Спасибо.Это версия калибровки в книге UPE

Есть ли способ, чтобы календарь печатал год как "0004" вместо 4?

$ cat cal
#cal: nicer interface to /usr/bin/cal

case $# in
0)  set 'data';m=$2; y=$6 ;;    # no argu: use today
1)  m=$1; set 'data'; y=$6 ;;   # 1 rg: use this year
*)  m=$1; y=$2 ;;           # 2 ags: month and year 
esac

case $m in
jan*|Jan*)  m=1 ;;
feb*|Feb*)  m=2 ;;
mar*|Mar*)  m=3 ;;
apr*|Apr*)  m=4 ;;
may*|May*)  m=5 ;;
jun*|Jun*)  m=6 ;;
jul*|Jul*)  m=7 ;;
aug*|Aug*)  m=8 ;;
sep*|Sep*)  m=9 ;;
oct*|Oct*)  m=10 ;;
nov*|Nov*)  m=11 ;;
dec*|Dec*)  m=12 ;;
[1-9]|10|11|12) ;;          # numeric month
*)      y=$m; m="" ;;       # plain year
esac

/usr/bin/cal $m $y          # run the real one
$
...