GNU bash OSXでは、ulimitは尊重されません。

GNU bash OSXでは、ulimitは尊重されません。

OSXのGnu bashで奇妙な問題が見つかりました。 ulimit -f の値は bash 自体によって変更されます。再現可能な小さなコード:

#!/usr/local/bin/bash

ulimit -f 1
echo "Value: $(ulimit -f)"

echo "---"

outstring=$(echo {1..10000})
echo "Value: $(ulimit -f)"
echo "Size = ${#outstring}"
echo "$outstring" > output_file

Output:
Value: 1
---
Value: unlimited
Size = 48893

wc -c output_file 
48894 output_file

バッシュバージョン

/usr/local/bin/bash --version | head -n1
GNU bash, version 4.4.19(1)-release (x86_64-apple-darwin17.3.0)

観察:同じコードがUbuntuで期待どおりに機能し、ファイルは作成されません。しかし、OSXでは、ulimitが以下から変更される奇妙な問題が発生します。私は何かを逃しましたか?それとも間違いですか?

関連情報