📄 ex61.sh
字号:
#!/bin/bash# 将阿拉伯数字转化为罗马数字# 范围: 0 - 200# 比较粗糙, 但可以正常工作. # 扩展范围, 并且完善这个脚本, 作为练习. # 用法: 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 () # 在第一次调用函数前必须先定义它. {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 # 练习: # ----- # 解释这个函数是如何工作的. # 提示: 依靠不断的除, 来分割数字. } 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 + -