0
を上げたときにこれがバッシュ - 変数の指数パワー
answer=$(echo "2^3" | bc)
$ 8
の作品は、しかし、これはそうではありません。ここでは完全なスクリプトは次のとおりです。
#!/bin/bash
myvar=$(echo "4-1" | bc)
answer=$(echo "2^$myvar" | bc)
echo $answer
私は「-x設定」でこれを実行すると、これは私が紀元前に固執したいのですが、どのように把握することはできません出力
./test.sh: line 3: syntax error near unexpected token '|'
./test.sh: line 3: 'myvar=(echo "4-1" | bc)
++ echo '2^'
++ bc
(standard_in) 2: syntax error
+ answer=
+ echo
です指数としてvarを渡します。
に私のために仕事の両方が不足して
注意。 – Barmar
なぜあなたは 'bc'を使う必要がありますか? 'bash'には指数演算子が組み込まれています:' answer = $((2 ** myvar)) ' – Barmar
' myvar = 3;を実行しているログを表示してください。答え= $(echo "2^$ myvar" | bc);エコー "$答え"と8以外の結果を得ることです。ここでの主張は信じがたいです。デモでは、正確な再生器をテストしたことがありません。問題がまだ存在していることを確認する)、私はそれを信じることを拒否する。 –