#!/bin/bash インデックス

#!/bin/bash インデックス

シェルスクリプトで指数演算子の実行に問題があります。

#!/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

おすすめ記事