POSIX 호환 스크립트 및 전체 경로 가져오기에 대한 이 토론의 mklement0에서 한 줄입니다. ShellCheck가 실패했습니다. 공간을 삭제하면 더 이상 작동하지 않게 됩니다.
https://stackoverflow.com/questions/29832037/how-to-get-script-directory-in-posix-sh
dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
^-- SC1007: Remove space after = if trying to assign a value (for empty string, use var='' ... ).
CDPATH=
ShellCheck 패스에서 결과를 제거해 도 여전히 작동하는 것 같지만...
CDPATH= 접두사는 원래 명령에서 > /dev/null을 대체합니다. $CDPATH는 빈 문자열로 설정되어 cd가 아무것도 에코하지 않도록 합니다.
꼭 필요한 것 같습니다. 그렇다면 이 패스를 ShellCheck로 만들 수 있는 방법이 있나요? 아니면 그냥 무시하나요?
답변1
예, 인용된 null 값을 지정할 수 있습니다.
dir=$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd)
ShellCheck가 제안한 대로:
(빈 문자열의 경우 var='' ...을 사용하십시오.)