1

文字列に 10 進数が格納されています。

100 未満の数値は、この方法"045"または"005".

これらの数値文字列を算術演算で使用する場合、let A="045"+"009"これらの数値はマニュアル ページに示されているように 8 進数として扱われます。

それらを10進数として扱うために、その10#ような数値文字列の先頭に追加しました

let A="10#045"+"10#123"

-ash: let: arithmetic syntax errorしかし、この解決策は、 BusyBox (OpenWRT にインストール) からの私の bash でエラーを引き起こします

ビジーボックス シェルの別の解決策はありますか?

let:ビットごとの操作のような他の種類の操作でこれらの数値が必要なため、操作はで評価する必要があります。

4

2 に答える 2

0

算術を行う前にゼロを削除できます。

n=005
shopt -s extglob
n1=${n##+(0)}
echo $n1

出力:

5
于 2013-05-13T13:02:08.917 に答える