どのコマンドを使用する必要がありますか?二重括弧を使用する必要がありますか?これら2つの数字で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])
?