shellcheck: "ulimit -H는 POSIX sh에서 지원되지 않습니다"

shellcheck: "ulimit -H는 POSIX sh에서 지원되지 않습니다"

sh 스크립트의 경고를 수정하기 위해 shellcheck를 사용하고 있습니다. 스크립트는 다음 명령을 사용하여 하드 파일 설명자 제한을 확인합니다.

ulimit -H -n

다음을 통해 소프트 fd 제한을 설정합니다.

ulimit -n "$MAX_FD"

그러면 Shellcheck 경고가 생성됩니다.

In POSIX sh, ulimit -H is not supported. [SC2039]

In POSIX sh, ulimit -n is not supported. [SC2039]

POSIX sh에서 하드 리소스 제한을 얻고 소프트 리소스 제한을 설정하는 이식 가능한 방법은 무엇입니까?

답변1

뭐 엄밀히 말하면,POSIXulimit-f옵션(최대 파일 크기)만 알 수 있는 것 같아서 답은 '없음'이 아닐까 싶습니다 .

Linux에 있는 거의 모든 셸(Bash, Busybox, Dash, Ksh, mksh, yash, zsh)에는 , 및 를 ulimit지원하는 내장 명령이 있습니다 .-H-S-n

Linux가 아닌 시스템에 대해서는 잘 모르겠지만,FreeBSD 매뉴얼 페이지sh(1)또한 OpenBSD에서는 다음과 같이 언급했습니다./bin/shksh인 것 같아, 이는 또한 이를 지원합니다.

관련 정보