宿題:表現ですか、命令ですか?

宿題:表現ですか、命令ですか?

Bash および Posix シェルにはさまざまな形式のコマンドがあります。推測が正しい場合、割り当てはコマンド(特に単純なコマンド)の一種です。

ただし、let割り当ての前に使用でき、let式の前に使用する必要があります。だから私の言葉が正しいなら、割り当ても表現だ。

let有無にかかわらず、割り当てはすべてコマンドとして使用されます。 2つの違いは何ですか?私が主に尋ねるのは、用途の違い、つまりいつどのようなものを使用すべきかです。例えば

$ aaa=1

$ let aaa=1

ベストアンサー1

let <EXPRESSION>それ自体はPOSIX規格ではありませんが、POSIX規格の方法で次のように表現できます。

[ "$(( <EXPRESSION> ))" -ne 0 ]

通常の割り当てとは異なり、割り当てlet(式)も評価し、結果に応じて終了コードを返します。

$ aaa=1; echo $?
0
$ aaa=0; echo $?
0

$ let aaa=1; echo $?
0
$ let aaa=0; echo $?
1

おすすめ記事