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


16

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

例えば:

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

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

例えば:

totally/different/path$ bash foo.sh

で実行することはできませんが、実行許可を与えて$ PATHに入れた後bash foo.sh、で実行できますfoo.sh
エリアス

回答:


21

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

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

私のスクリプトは$HOME/.local/bin/(隠しディレクトリです)に追加するのが好きなので、ホームディレクトリはきれいに保たれます。

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

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

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


システムスクリプトを上書きする前に追加すると、emを簡単に置き換えることができますが、必ずしも良いとは限りません。
ウィルフ

9

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

mkdir ~/bin

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

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

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


この場合、アプリケーションからのスクリプトなので~/bin、保守性を高めるために、スクリプトのシンボリックリンクをに配置することをお勧めします。
エリアス

3

別の解決策

  1. ~/.bashrcvimを使用して開くパスを追加します$ vim ~/.bashrc

    例:

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

  2. パスを追加したら、次を実行します。

    $ source ~/.bashrc

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.