POSIX準拠のスクリプトとフルパスのインポートに関するこのディスカッションのmklement0の1行。 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 = '' ...を使用してください。)