Bash komut dizisi yola eklensin mi?


16

Bir uygulama klasöründe yolumdaymış gibi kullanmak istediğim bazı bash komut dosyalarına sahibim. Eğer düz uygulamalar olsaydı, sadece ~ / .bashrc dizinini eklerdim, ama bunlar betikler.

Örneğin:

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

Herhangi bir dizinden kullanabilmem için bir yol oluşturmanın iyi bir yolu var mı?

Örneğin:

totally/different/path$ bash foo.sh

bunu, yönetici izni verdikten ve $ PATH'a koyduktan sonra bash foo.sh, ancak ile yapamazsınız foo.sh.
elias

Yanıtlar:


21

Evet, sistem yoluna herhangi bir dizin ekleyebilirsiniz. Bunu yapmanın bir yolu PATH (çevresel değişken) tanımını güncellemektir. Bunu .bashrcaşağıdaki satırları ekleyerek yapabilirsiniz :

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

Komutlarımı $HOME/.local/bin/(gizli bir dizindir) eklemeyi seviyorum, böylece ev dizinim daha temiz kalıyor.

Çalışmazsanız dizininiz PATH değişkenine hemen eklenmez source .bashrc.

Yola birden çok dizin ekleyebilirsiniz, unutmayın. Kodu anlamadıysanız lütfen BASH belgelerine bakın.

Önceki yöntem yalnızca kullanıcınız için çalışır. Tüm kullanıcılar için bir komut dosyası dizini eklemeniz gerekiyorsa bodhi.zazen yapın ve komut dosyalarınızı buraya ekleyin /usr/local/bin.


Daha önce eklemek sistem komut dosyalarını geçersiz kılar - yani her zaman iyi olmayan em'leri değiştirmek kolay olabilir.
Wilf

9

IMO en iyi yöntem komut dosyalarını ~ / bin'e eklemektir.

mkdir ~/bin

~/binotomatik olarak yolunuza eklenmelidir. Değilse, bunu~/.bashrc

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

Bunların tüm kullanıcılar tarafından kullanılabilir olmasını istiyorsanız, /usr/local/bin


Bu durumda, bir uygulamadaki komut dosyaları olduğundan ~/bin, daha iyi bakım için komut dosyalarına sembolik bağlantılar koymanızı öneririm .
elias

3

başka bir çözüm

  1. ~/.bashrcVim kullanarak açmak için yol ekleyin$ vim ~/.bashrc

    misal:

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

  2. yol eklendiğinde çalıştırın:

    $ source ~/.bashrc

  3. Doğru bir şekilde eklenirse hata olmamalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.