変数_x=7
_があり、echo ($x+1)
のようにプラス1をエコーしたいのですが、次のようになります。
bash:予期しないトークン `$ x + 1 'の近くの構文エラー
どうやってやるの?
bc
ユーティリティを使用することもできます。
$ x=3;
$ echo "$x+5.5" | bc
8.5
二重括弧を試してください:
$ x=7; echo $(($x + 1))
8
echo $(($ x + 1))を試してください
3以上のbashの一部のバージョンでのみ機能すると思います。
echo `expr $x + 1`
別の解決策になります
echo $((x + 1))もecho $(($ x + 1))と同じ結果です
expr
コマンドを使用するだけです。
$ expr $x + 1
8
そのためにexpr
を使用します。
echo `expr $x + 1`
この方法を試してください:
echo $(( $X + 1 ))
$ echo $(($x+1))
8
man bash
から:
算術拡張
算術展開により、算術式の評価と結果の代入が可能になります。算術展開の形式は次のとおりです。
$((expression))
式は二重引用符で囲まれているかのように扱われますが、括弧内の二重引用符は特別に扱われません。式内のすべてのトークンは、パラメーター展開、文字列展開、コマンド置換、および引用符の削除を受けます。算術置換はネストできます。
評価は、以下の算術評価のルールに従って実行されます。式が無効な場合、bashは失敗を示すメッセージを出力し、置換は発生しません。