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)
관찰: 동일한 코드가 우분투에서 예상대로 작동하고 파일이 작성되지 않습니다. 그러나 OSX에서는 ulimit가 아래에서 변경되는 이상한 문제가 발생합니다. 내가 뭔가를 놓쳤나요? 아니면 실수인가요?