これは私のテストコードです。
a=1
echo $a
echo `let ++a`
echo $a
私が見る出力は1
、です1
。 3行目が値を変更しないのはなぜですかa
?
答え1
`...` は $(...) と同じなので、サブシェルです。サブシェルで変更された変数は、サブシェルが閉じられると失われます。
答え2
次のように変数を追加できます。
a=1
((a++))
echo $a
2
これは、以下の「Cスタイル」の増分に近いです。
let a++
Ipor Sircerの返信を見るなぜあなたの方法は動作しませんでした!