私は~/Code/proj
のディレクトリにあり、GCC経由でコンパイルしたproj
と呼ばれるバイナリがあり、このプログラムを実行できる方法は次のとおりです:
~/Code/proj $ ./proj
にはどうすれば./
接頭辞なしで呼び出すことができ、このディレクトリ内のすべてのバイナリに今からとても$PATH
へprojディレクトリーをプッシュしていますか?
私は~/Code/proj
のディレクトリにあり、GCC経由でコンパイルしたproj
と呼ばれるバイナリがあり、このプログラムを実行できる方法は次のとおりです:
~/Code/proj $ ./proj
にはどうすれば./
接頭辞なしで呼び出すことができ、このディレクトリ内のすべてのバイナリに今からとても$PATH
へprojディレクトリーをプッシュしていますか?
ディレクトリをPATH
にプッシュすることはあまり意味がありません。
あなたPATH
はちょうどあなたがあなたのPATH
を変更したり、内部にいくつかのディレクトリにバイナリを置くことができ
echo $PATH
を入力何であるかを知っています。
ログインシェルはよくあるケースであるbash
であれば、あなたのパスを設定する$HOME/.bashrc
または$HOME/.profile
のいずれかのファイルを編集することができby fge
を示唆したようにあなたは、一時的にコマンドを使用してPATH
を変更することができます。 (zsh
シェルの場合、起動ファイルは異なりますので、パスに関連するものを変更した後にrehash
を実行する必要があります)。
多くのLinuxディストリビューションでは、$HOME/bin/
を含むPATH
が提供されます。そのディレクトリを作成し(該当する場合)、実行可能ファイルをその中にコピーすることができます。
私は、PATH
にいくつかのディレクトリを持つことがよりクリーンだと分かります。実行ファイルとスクリプトを1つのディレクトリにコピーするのが好きです$HOME/bin/
使用しているプラットフォームはどれですか? –
@crazy_prog:タグはLinuxに言及しています。 –
パスにカレントディレクトリを置くことにセキュリティ上の問題があります。あなたが誰でも何かを落とすことができる '/ tmp'にいるとしましょう。 'ls'を実行すると、誰かが悪意のある' ls'実行ファイルを落としてしまった可能性があります。あなたが期待していたものの代わりに、何か他のことをします。もちろん、あなたのパスの順序に依存しますが、一般的にsnotの良いアイディアである –