- シェルスクリプト総合 その33
30 :デフォルトの名無しさん[sage]:2020/03/28(土) 10:24:50.05 ID:KzFz1ENP - >>29
それPOSIX準拠?
|
- シェルスクリプト総合 その33
31 :デフォルトの名無しさん[sage]:2020/03/28(土) 13:22:16.30 ID:KzFz1ENP - 算術展開 $(()) って、代入文が使えるんだな。
ループ廻すときに,i=$((i + 1))っていう増分と$iの値の判定を別々にやってたのが, $((i += 1))という値を判定するだけで済むとは。
|
- シェルスクリプト総合 その33
34 :デフォルトの名無しさん[]:2020/03/28(土) 15:16:54.38 ID:KzFz1ENP - >>33
$((i++))という書き方は,少なくともPOSIXでは保証されてない。 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
|
- シェルスクリプト総合 その33
36 :デフォルトの名無しさん[sage]:2020/03/28(土) 16:49:31.86 ID:KzFz1ENP - >>35
本当です。 2.6.4 Arithmetic Expansion ... The arithmetic expression shall be processed according to the rules given in Arithmetic Precision and Operations, with the following exceptions: * The sizeof() operator and the prefix and postfix "++" and "--" operators are not required. ちゃんと読みましょう。
|
- シェルスクリプト総合 その33
39 :デフォルトの名無しさん[sage]:2020/03/28(土) 17:35:25.59 ID:KzFz1ENP - >>37
++と--はシェルの算術展開では必須じゃないって書かれてあんのが読めねーの? これだから文盲と会話するのは疲れるんだよ。 バカの一つ覚えみてーに同じURL貼ってさぁ。
|
- シェルスクリプト総合 その33
42 :デフォルトの名無しさん[sage]:2020/03/28(土) 20:43:09.24 ID:KzFz1ENP - ちなみに
$((i+=1))って書き方はPOSIXでは保証されてる……筈だけど, ↑上にも書き込んでた人がいるように,一部シェルで動かないことがあるので使わんほうがいい。
|