Linuxで実行可能ファイルの検索パスに現在のディレクトリ「./」を追加するにはどうすればよいですか?
私はこれが古い答えであることを知っていますが、他の誰かが私と同じようにGoogleを介してこの質問に出くわした場合、より詳細な説明があります。
set検索パス時に検索パスにpwd
の値が含まれるようにしたい場合は、次のようにします。
export PATH=$PATH:$(pwd)
したがって、pwd
が/home/me/tmp
の場合、PATHは$PATH:/home/me/tmp
に設定されます
ただし、コマンドを実行するときに現在の作業ディレクトリが何であっても(たとえば、任意の時点でのpwd
の値が検索パスにあるように)したい場合は、次のようにします。
export PATH=$PATH:.
したがって、pwd
が/home/me/tmp
の場合、PATHは$PATH:.
に設定されます。現在の作業ディレクトリにfoo
と呼ばれるスクリプトが含まれている場合、PATHに含まれています。ディレクトリをfoo
を含まないディレクトリに変更すると、「foo」はPATHで検出されなくなります。
ただし、現在の作業ディレクトリをPATHに含めると、セキュリティ上のリスクが生じる可能性があることに注意してください。
permanentlyしたい場合は、現在使用しているディレクトリをPATH変数に追加します。
_$ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc
_
$(pwd)
を現在のディレクトリの文字列リテラルに展開し、引用符で囲まれた行をbashrcに追加します。 _\
_の現在の値への展開をエスケープするには、_\$PATH
_の_$PATH
_が必要です。
_$ pwd
/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin
$ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc
$ tail ~/.bashrc -n 1
export PATH=$PATH:/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin
_
ええと...それは私にはうまくいきませんでした。私はやります
export PATH=$(pwd):$PATH
以前に投稿されたコマンドは、文字通りドットを追加するだけです。
export PATH=$PATH:$PWD
bash 4.3.48で動作します
現在のディレクトリでは、長さゼロの(null)ディレクトリ名を使用できます。最初のコロンまたは末尾のコロン、または二重コロンを使用できます。これはbashのマンページ、man bash
:
PATH The search path for commands. It is a colon-separated list of
directories in which the Shell looks for commands (see COMMAND EXECUTION
below). A zero-length (null) directory name in the value of PATH
indicates the current directory. A null directory name may appear as two
adjacent colons, or as an initial or trailing colon. The default path
is system-dependent, and is set by the administrator who installs bash.
A common value is
``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.
これは古い質問ですが、CSHまたはTCSHを使用している人のために追加したいと思いました。
以下を.cshrcまたは.tcshrcに追加すると、現在のディレクトリが環境パス変数に追加されます。
setenv PATH {$PATH}:.