次のコマンドの出力は?
echo $((7/2))正答
- 3.5
- 4
- 3
- 7/2
解説
$(( )) は算術展開で、中の式を整数として計算する。bash の算術は整数しか扱えないため 7/2 は 3 になり、小数点以下は切り捨てられる。四捨五入もしないので 4 にはならない。選択肢 4 の 7/2 は echo 7/2 のように算術展開を使わなかったときの出力である。小数の計算が必要なら bc や awk に渡す(echo "7/2" | bc -l など)。余りは $((7%2)) で求められる。
参考: www.gnu.org
この問題を含む Linux・シェル のテストを制限時間つきで解く
Linux・シェルクイズへ