letを使ってシェルで条件演算子(三項演算子)

ポイント
  • シェル変数は$を省略する
  • 未定義の変数は0として扱われる
  • 文字列は扱えない
  • シェルと反対にtrueは1、falseが0
$ let 'a = 1? 11 : 22'
$ echo $a
11

$ let 'a = 0? 11 : 22'
$ echo $a
22

$ let 'a = 3==3? 11: 22'
$ echo $a
11

条件演算子以外にもインクリメントや復号代入も可能です。

$ let 'b++'
$ echo $b
1

$ let 'c += 3'
$ echo $c
3

ちなみに$((expr))でも同様の事が可能。

$ echo $((d -= 10))
echo -10
$ echo $d
-10

Have a nice shell life!