İnsanlar ekleyerek ileri sürmüşlerdir .için PATHo yanlışlıkla dünya yazılabilir dizinde ekilen kötü niyetli bir programı çalıştırmak riski oluşturduğundan tehlikeli olan. Eğer size ait olan bir kaç dizinleri çalıştırılabilir programları var ve sadece sizin tarafından yazılabilir Ama eğer, o zaman güvenli (oldukça güvenli?) Var koymak olanlar yönetmen (ler) içine PATHgibi bir satır ekleyerek,
PATH=$PATH:~/dev/myprog1:~/dev/myprog2
sizin için ~/.bashrcdosyanın. Elbette bu, bir programı bu dizinlerden birinden dosya sisteminin herhangi bir yerinden çalıştırabileceğiniz anlamına gelir. Örneğin, yazıp cd /etcyazabilirsiniz foove çalıştırılabilir ~/dev/myprog1/foo. Bu, dizinlerin birinde birden fazla programda aynı ada sahip programların bulunamaması gibi küçük dezavantajlara sahiptir. Özellikle, foo
her ikisinde de programlanmışsa ~/dev/myprog1ve ~/dev/myprog2bir yol belirtme dışında ikincisini çalıştıramazsınız. Aynı şekilde bir ~/dev/myprog1/cat- varsa - ama neden istiyorsun?
Başka bir yaklaşım, bunu yaptığınız birkaç programınız varsa, onlar için takma adlar tanımlamaktır:
alias gizmo='./gizmo'
alias gonzo='./gonzo'
Ya da diğer isimleri arayabilir .gizmove .gonzo
daha sezgisel bulursanız.
Aslında, bunun bir dereceye kadar, .içine koymakla aynı güvenlik riski vardır PATH. Kötü niyetli bir kullanıcı sizi okuyabilir .bashrcve takma adlarınızı görebilirse, o zaman çalıştırmanız umuduyla kötü amaçlı yazılım olarak adlandırılan gizmove gonzorastgele dizinlere yerleştirebilir. Bu mutlak yol adlarını kullanmak daha iyidir:
alias gizmo='~/dev/myprog1/gizmo'
alias gonzo='~/dev/myprog2/gonzo'
Bu arada, çalıştırılabilir bir dosyayı adlandırmaktan kaçınmalısınız test, çünkü bu bir shell yerleşik komutudur ve bir programı yalnızca bu yolu kullanarak bir yol ya da başka bir numara belirterek çalıştırabilirsiniz.