web-dev-qa-db-ja.com

bashスクリプトフォルダーをパスに追加しますか?

アプリケーションフォルダーにいくつかのbashスクリプトがあり、それらを自分のパス上にあるかのように使用したいと思います。まっすぐなアプリケーションであれば、ディレクトリを〜/ .bashrcに追加するだけですが、これらはスクリプトです。

例えば:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh

任意のディレクトリから使用できるようにパスを設定する良い方法はありますか?

例えば:

totally/different/path$ bash foo.sh
16
Abe

はい、任意のディレクトリをシステムパスに追加できます。これを行う1つの方法は、PATH(環境変数)定義を更新することです。次の行を追加することで、.bashrcでこれを行うことができます。

PATH="/your/script/dir:${PATH}"
export PATH

私のスクリプトを$HOME/.local/bin/(隠しディレクトリ)に追加して、ホームディレクトリをよりきれいにしたいのです。

source .bashrcを実行しない限り、ディレクトリはすぐにPATH変数に挿入されません。

パスに複数のディレクトリを追加できます。覚えておいてください。コードを理解していない場合は、BASHのドキュメントを参照してください。

前の方法はユーザーに対してのみ機能します。すべてのユーザーにスクリプトディレクトリを追加する必要がある場合は、bodhi.zazenとして行い、/usr/local/binにスクリプトを追加します。

20
Severo Raz

IMOの最良の方法は、スクリプトを〜/ binに追加することです

mkdir ~/bin

~/binがパスに自動的に追加されます。そうでない場合は、これを~/.bashrcに追加します

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi

すべてのユーザーが利用できるようにする場合は、/usr/local/binに追加します

9
Panther

別の解決策

  1. パスを~/.bashrcに追加し、vim $ vim ~/.bashrcを使用して開きます

    例:

    # add extra paths export PATH=$PATH:~/Scripts

  2. パスが追加されたら実行:

    $ source ~/.bashrc

  3. 正しく追加された場合、エラーは発生しません。

3
zulucoda