mklement0 中关于 POSIX 兼容脚本和获取完整路径的讨论中的单行代码。它失败了 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呢?还是直接忽略?
是的,您可以指定一个带引号的空值:
正如 ShellCheck 所建议的: