私は球球団を作るためにシェルを学んでおり、次のようなコードを書いています。
#!/ in/bash
for i in 1 2 3 4 5 6 7 8 9
do
for j in 1 2 3 4 5 6 7 8 9
do
if [ $j -le $i ]
then
echo -ne "$i"X"$j"=`expr "$i"*"$j"` "\t"
else
echo
break
fi
done
done
echo -ne "\n"
ただし、コンソールに次の応答が表示されます。
1X1=1*1
2X1=2*1 2X2=2*2
3X1=3*1 3X2=3*2 3X3=3*3
4X1=4*1 4X2=4*2 4X3=4*3 4X4=4*4
...
答えは「1x1=1、2x1=2...」であることを願っています。誰でもこのコードを修正する方法を教えてもらえますか?
ベストアンサー1
はい、bashを使用できます。組み込み算術拡張 $(( ))
簡単な計算をしてみてください。
乗算の場合:
echo $(( 6 * 7 ))
結果
42
スクリプトは次のとおりです。
#!/ in/bash
for i in 1 2 3 4 5 6 7 8 9
do
for j in 1 2 3 4 5 6 7 8 9
do
if [ $j -le $i ]
then
echo -ne "$i"X"$j"=$(($i * $j)) "\t"
else
echo
break
fi
done
done
echo -ne "\n"