シェルスクリプトで指数演算子の実行に問題があります。
#!/bin/bash
clear
number1=8
number2=2
sum1=$(( number1 ** number2 ))
echo "8 ^ 2 =" $sum1
それは戻ってくるexpecting primary: " number1 ** number2 "
私も試してみましたが、^
まだ**
希望の結果を印刷できませんでした。 8^2 は 64 を返しました。何か抜けたこと間違いなしです。何を理解していません。
どんなアドバイスでもいいでしょう。ありがとうございます。
ベストアンサー1
dash
シェルでスクリプトを実行しているようです。
引用したエラーメッセージは、演算子がdash
理解できない場合に出力されるものです(何もありません)。これは何かを乗算しようとしたときに発生するのと同じエラーです。**
dash
$ echo $(( 2 * ))
dash: 14: arithmetic expression: expecting primary: " 2 * "
スクリプトを直接実行するか(#!
最終的に正しい行がある)、次のように明示的に呼び出すことを確認してくださいbash
。
$ bash script.sh