~/scripts
にあるスクリプトをどこからでも実行できますか?
現在の作業ディレクトリに関係なく、./scriptname
を実行したいとします。
~/scripts
を$PATH
環境変数に追加できます。その後、どこからでもscriptname
を実行できます(./scriptname
は現在のディレクトリを示すため、./
は実行できません)。
この回答 は~/bin
を$PATH
に追加する方法を示していますが、もちろん~/scripts
でも同じことができます。
追加
export PATH=$PATH:~/scripts
~/.bashrc
ファイルの最後まで。これにより、bashにscriptnameと入力するだけで、~/scripts/
でスクリプトを実行できます。セッションでセッションが機能するには、ログアウトする必要があります(新しいターミナルを開いてスクリプトをテストできます)。
私は通常追加します
export PATH=$PATH:~/bin
私のパスに移動してから、スクリプトへのシンボリックリンクを作成して、セッションで使用できるプログラムを作成します。
cd ~/bin
ln -s ~/Tools/Eclipse3.7/Eclipse
# which will create a symlink in ~/bin/ with the name Eclipse
# pointing to ~/Tools/Eclipse3.7/Eclipse which allows me to execute
# the Eclipse in ~/Tools/Eclipse3.7/
パスファイルが優先されることに注意してください。すでにUbuntuからEclipseをインストールしている場合、最初に~/bin/
以外のすべての場所でEclipseが検索されます。この動作を変更する場合は、ディレクトリを逆方向にエクスポートするだけです。
export PATH=~/bin:$PATH
スクリプトディレクトリ内のスクリプトが実行可能であることを確認してください。実行可能でない場合、エクスポートは効果がありません。
次のように入力して、使用可能なパスを確認できます。
echo $PATH
すべての環境変数を表示するには、コンソールにenv
と入力します。
二つの方法:
./
のような~/scripts/scriptname
の代わりにフルパスでシェルスクリプトを呼び出します$PATH
環境変数に追加し、scriptname
などの先頭の./
なしでシェルスクリプトを呼び出します