The Rank of F

渋谷で働く無能のブログ

macOS High Sierra(10.13.6)のfold(1)コマンドが死んでる話

シェルスクリプトで汎用的なコマンドを作るのがダルかったので雛形を作ろうとしていた時にSegmentation Faultに出くわした。

SEGVなんてPOSIX準拠のコマンドを普通に使っている限り発生しないと思っていたのだけれど、発生してしまったものは仕方ないので少々調査してみることにした。

どうやらmacOSfold(1)がバグを抱えているくさい。標準入力から値を渡し、-sまたは-bオプションをつけると確実にSEGVする。

macOS fold(1) SEGVasciinema.org

上記の通り、BSDfold(1)ではなくGNUfold(1)では正常に動作している。

macOS自体がBSD系なので、同じ系統であるFreeBSD (12.0 Current)でも動作を確かめてみた。結果としては問題なく動作した。

うーん困った... 一応Appleにバグレポートを投げてみたけれど、いつころからこのバグを抱えているんだろうか...

fold(1)を使うシェルスクリプトが全滅する可能性もありなんとも言えない。せめてPOSIXの範囲内では正常に動作するようにしてほしい...

というかPOSIX標準満たせてなくてもThe Open GroupのUNIX認証通るんですね...特にテストとかはないのかな