在简单的 Bash 脚本中实现 if 子句

在简单的 Bash 脚本中实现 if 子句

我有一个使用 cal -m $vwhere vis number 的 bash 脚本。v在执行开始时,系统会提示用户输入 的值。如果用户按下ENTER而不是输入数字,我希望脚本输出当前月份的天数,即执行 justcal而不是 cal -m $v。有什么想法吗?

答案1

我们可以做得更好,我们可以进行范围检查以确保它介于 1 到 12 之间(含 1 和 12)。有大约十亿种方法可以做到这一点,但这里只列举几种:

if [ "$v" -ge 1 -a "$v" -le 12 ]; then
    cal -m "$v"
else
    cal
fi

或者使用算术测试:

((v>=1 && v<=12)) && cal -m "$v" || cal

相关内容