📄 ex61.sh
字号:
#!/bin/bash# Arabic number to Roman numeral conversion# Range: 0 - 200# It's crude, but it works.# Extending the range and otherwise improving the script is left as an exercise.# Usage: roman number-to-convertLIMIT=200E_ARG_ERR=65E_OUT_OF_RANGE=66if [ -z "$1" ]then echo "Usage: `basename $0` number-to-convert" exit $E_ARG_ERRfi num=$1if [ "$num" -gt $LIMIT ]then echo "Out of range!" exit $E_OUT_OF_RANGEfi to_roman () # Must declare function before first call to it.{number=$1factor=$2rchar=$3let "remainder = number - factor"while [ "$remainder" -ge 0 ]do echo -n $rchar let "number -= factor" let "remainder = number - factor"done return $number # Exercise: # -------- # Explain how this function works. # Hint: division by successive subtraction.} to_roman $num 100 Cnum=$?to_roman $num 90 LXXXXnum=$?to_roman $num 50 Lnum=$?to_roman $num 40 XLnum=$?to_roman $num 10 Xnum=$?to_roman $num 9 IXnum=$?to_roman $num 5 Vnum=$?to_roman $num 4 IVnum=$?to_roman $num 1 Iechoexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -