Tekrar tekrar $ PATH değişkenine dizin ekleyin


4

$ PATH değişkenime tekrarlı olarak bir dizin eklemek mümkün mü? Diyelim ki aşağıdaki gibi bir dizin yapısına sahip:

/usr/local/bin
    - /nodejs-x.x
    - /redis-x.x
    - /mongodb-x-x

/usr/local/bin$ PATH’a ekleyebilir ve alt dizinleri yinelemeli olarak ele almasına izin verebilir miyim ?

Yanıtlar:


4

Doğrudan değil, hayır. Girişler $PATHözyinelemeli değildir.

Yapabilecekleriniz:

for d in /usr/local/bin/*/; do
    PATH+=":$d"
done

Başka bir seçenek, sembolik işaretleri içine koymaktır /usr/local/bin:

cd /usr/local/bin
ln -s myapp-1.2/myapp myapp

Tamam, mantıklı. $ PATH değişkeninin uzunluğunda herhangi bir makul sınır var mı? Sanırım istediğin kadar uzun olabilir ama süper uzun sürmenin bir sakıncası var mı?
ajackbot

@jackweeden: Ortam bloğu izin verilen yığın alanının 1 / 4'ü ile ( ulimit -avarsayılan olarak ; 2 MB ile gösterildiği gibi ) ve ayrı dizeler ( key=valueçiftler) 32 bellek sayfasıyla (4 kB sayfalarda 32 kB) sınırlıdır mimari).
Grawity

@jackweeden: Küçük bir dezavantajı, çalıştırdığınız her komut için tüm dizinlerin tek tek kontrol edilmesi gerekmesidir. Bash ilk kullanımdan sonra sonuçları hatırlasa da, bu bilgiyi çıktıktan sonra örnekler ve unutmalar arasında paylaşmaz. Modern depolama medyasında bu pek bir sorun değil.
Grawity
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.