我应该使用哪些命令?我应该使用双括号吗?如果我使用 40 + 30 作为这两个数字,我的输出应该是什么?拜托,我才刚刚开始,我需要帮助。
答案1
您提到了 bash,因此您可以使用算术评估(请参阅man bash
并搜索算术评估)。
示例脚本:
#!/bin/bash
a=$1
b=$2
if (( a > b )); then
printf '%d\n' "$a"
else
printf '%d\n' "$b"
fi
不要忘记验证您的输入!例子:
if [[ ! "$1" =~ ^[[:digit:]]+$ ]] ||
[[ ! "$2" =~ ^[[:digit:]]+$ ]]
then
echo 'One of the arguments is not a number' >&2
exit 1
fi
答案2
echo $(($1 > $2 ? $1 : $2))
但您可能想在那里添加一些错误检查。例如:
- 参数数量 (
$#
) 是否正确? - 参数是否是格式良好的整数,例如
?(-)+([0-9])
?