Tambahkan folder skrip bash ke path?

16

Saya memiliki beberapa skrip bash di folder aplikasi yang ingin saya gunakan seolah-olah ada di jalur saya. Jika itu adalah aplikasi langsung, saya hanya akan menambahkan direktori ke ~ / .bashrc, tetapi ini adalah skrip.

misalnya:

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

Apakah ada cara yang baik untuk mengatur jalur agar saya dapat menggunakannya dari direktori mana pun?

misalnya:

totally/different/path$ bash foo.sh
Abe
sumber
Anda tidak akan dapat melakukannya dengan bash foo.sh, tetapi dengan foo.sh, setelah memberikan izin exec dan menempatkannya di $ PATH.
elias

Jawaban:

21

Ya, Anda dapat menambahkan direktori apa pun ke jalur sistem. Salah satu cara untuk melakukan ini adalah memperbarui definisi PATH (variabel lingkungan). Anda dapat melakukan ini .bashrcdengan menambahkan baris berikut:

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

Saya ingin menambahkan skrip saya ke $HOME/.local/bin/(yang merupakan direktori tersembunyi) sehingga direktori home saya tetap bersih.

Direktori Anda tidak akan dimasukkan ke dalam variabel PATH segera, kecuali jika Anda menjalankan source .bashrc.

Anda dapat menambahkan beberapa direktori ke path, ingat itu. Silakan baca dokumentasi BASH jika Anda tidak mengerti kodenya.

Metode sebelumnya hanya akan bekerja untuk pengguna Anda. Jika Anda perlu menambahkan direktori skrip untuk semua pengguna lakukan sebagai bodhi.zazen dan tambahkan skrip Anda ke /usr/local/bin.

Severo Raz
sumber
Menambahkannya sebelum mengganti skrip sistem - artinya bisa lebih mudah untuk mengganti mereka yang tidak selalu baik.
Wilf
9

IMO metode terbaik adalah menambahkan skrip ke ~ / bin

mkdir ~/bin

~/binharus secara otomatis ditambahkan ke jalur Anda. Jika tidak, tambahkan ini ke~/.bashrc

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

Jika Anda ingin mereka tersedia untuk semua pengguna, tambahkan mereka /usr/local/bin

Harimau kumbang
sumber
Dalam hal ini, karena ini skrip dari suatu aplikasi, saya sarankan untuk meletakkan tautan simbolis untuk skrip di dalam ~/bin, untuk pemeliharaan yang lebih baik.
elias
3

solusi lain

  1. Tambahkan jalur untuk ~/.bashrcmembuka menggunakan vim$ vim ~/.bashrc

    contoh:

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

  2. setelah path ditambahkan jalankan:

    $ source ~/.bashrc

  3. Jika ditambahkan dengan benar seharusnya tidak ada kesalahan.

zulucoda
sumber