Dodać folder skryptu bash do ścieżki?

16

Mam kilka skryptów bash w folderze aplikacji, których chciałbym użyć tak, jakby były na mojej ścieżce. Gdyby były prostymi aplikacjami, po prostu dodałbym katalog do ~ / .bashrc, ale to są skrypty.

na przykład:

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

Czy istnieje dobry sposób na skonfigurowanie ścieżki, dzięki której będę mógł jej używać z dowolnego katalogu?

na przykład:

totally/different/path$ bash foo.sh
Abe
źródło
nie będziesz w stanie tego zrobić za pomocą bash foo.sh, ale foo.shpo udzieleniu zgody exec i umieszczeniu ich w zmiennej $ PATH.
elias

Odpowiedzi:

21

Tak, możesz dodać dowolny katalog do ścieżki systemowej. Jednym ze sposobów jest zaktualizowanie definicji PATH (zmiennej środowiskowej). Możesz to zrobić w swoim .bashrc, dodając następujące wiersze:

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

Lubię dodawać moje skrypty do $HOME/.local/bin/(który jest ukrytym katalogiem), więc mój katalog domowy pozostaje czystszy.

Twój katalog nie zostanie od razu wstawiony do zmiennej PATH, chyba że uruchomisz source .bashrc.

Możesz dodać wiele katalogów do ścieżki, pamiętaj o tym. Jeśli nie rozumiesz kodu, zapoznaj się z dokumentacją BASH.

Poprzednia metoda będzie działać tylko dla użytkownika. Jeśli chcesz dodać katalog skryptów dla wszystkich użytkowników, wykonaj bodhi.zazen i dodaj swoje skrypty do /usr/local/bin.

Severo Raz
źródło
Dodanie go przed zastąpi skrypty systemowe - co oznacza, że ​​można łatwo zastąpić je, co nie zawsze jest dobre.
Wilf,
9

IMO najlepszą metodą jest dodanie skryptów do ~ / bin

mkdir ~/bin

~/binpowinien zostać automatycznie dodany do Twojej ścieżki. Jeśli nie, dodaj to do~/.bashrc

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

Jeśli chcesz, aby były dostępne dla wszystkich użytkowników, dodaj ich do /usr/local/bin

Pantera
źródło
W tym przypadku, ponieważ są to skrypty z aplikacji, radzę umieścić dowiązania symboliczne dla skryptów w ~/bin, dla lepszej konserwacji.
elias
3

inne rozwiązanie

  1. Dodaj ścieżkę do ~/.bashrcotwarcia za pomocą vima$ vim ~/.bashrc

    przykład:

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

  2. po dodaniu ścieżki uruchom:

    $ source ~/.bashrc

  3. Po poprawnym dodaniu nie powinno być żadnych błędów.

zulucoda
źródło