私のスクリプトで厳格なモードを使用したいと思います。携帯性も認めます。
set -o パイプラインの失敗必須のようです。ただし、shellcheck
(静的リンター)は、「POSIX shでパイプライン障害設定オプションが定義されていません」という内容に満足していません。
そうなんですか?それでは、これは単なるbash
機能なのでしょうか、それともかなり豊富なのでしょうか?
ベストアンサー1
このpipefail
オプションはksh93で提供されており、他のいくつかのシェルにもあります。追加:
- toksh93g1998年発売
- コック2004年にリリースされた3.0
- 2009年からビジーボックスアッシュまで
- 2010年にはビジーボックスで静かになりました。
- mkshへr46は2013年にリリースされました。
- zshによる2013年5.0.3リリース
- ヤッシュ2.422016年発売
- 2017年にNetBSD shに移行
- 2019年にFreeBSD shに移行
- 2020年にOpenBSD shにアップグレード
ㅏPOSIX 標準に追加するよう依頼2013年に提出され、2019年に決議案が承認されました。したがって、これは標準の次の主要な改訂版に属します。
残りの実装(主にダッシュ、bosh、およびksh88ベースのシェル)のサポートを追加するには、まだ時間がかかります。その後、「EOL」クロックが動作を開始し、10年後には、現在サポートされているシステムのすべてのsh実装がそれをサポートすると仮定できます。