変数割り当てのためのRHSのフィールド分割とファイル名拡張は移植可能ですか?

変数割り当てのためのRHSのフィールド分割とファイル名拡張は移植可能ですか?

ほとんどのPOSIX準拠シェル(たとえばbash、、、、、kshなど)では、変数の割り当てが発生したdashときにフィールド分割とファイル名拡張(シェルでサポートされている場合は中括弧拡張を含む)は割り当ての右側では実行されません。mkshpdksh

$ IFS=/
$ a=1/2
# Field splitting and filename expansion turned off here
$ b=$a
$ IFS=
$ printf '%s\n' $b
1/2

一部のシェル文書(強く打つケシ)この内容に言及しましたが、POSIX ドキュメントいいえ。

ほとんどのPOSIX準拠シェルでこの動作を確認できるため、POSIXドキュメントで指定されていないため、移植可能かどうか疑問に思います。

ベストアンサー1

どこで見るかによって異なります。 ~から第2章セクション9.1:

チルダ拡張、パラメータ拡張、コマンド置換、算術拡張、および引用符の削除を割り当てる前に、すべての変数割り当てを拡張する必要があります。

このリストは完全だと思います。フィールド分割フィールド分割不足が POSIX 仕様であるという言及はありません。

おすすめ記事