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

bash 的版本

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

观察结果:相同的代码在 ubuntu 中按预期工作,并且文件未写入。然而,在 OSX 下,我看到了这个奇怪的问题,其中 ulimit 在我下面发生了变化。是我遗漏了什么还是错误?

相关内容