Google'da arama yaptım, ancak bu basit soruya bir cevap bulamadım. (! #) Ben ilk satırda karma-patlama olan bir python komut vardır:Tercih edilen yolu #! kabuk betiklerinde
#!/usr/bin/python
Ancak, ne bu eğer/bin/python piton sahip bir bilgisayarda çalıştırıldığında veya/usr/local/bin/python veya başka bir yer? Bir kabuk betiği için yorumlayıcıyı belirlemenin daha iyi bir yolu olmalı. Sisteme kurulduktan sonra python'un nerede bulunacağını bileceği için, $ PATH ile ayarlamak mümkün olmalıdır.
Bunu yaptım bilmiyorum! Ancak, bu küçük bir güvenlik riskidir - kötü niyetli bir kullanıcı kendi ikili kodunu ./python'a yerleştirebilir ve "." Olan bir kullanıcı olduğunda hedef kullanıcı olarak eylemleri yürütebilir. onların $ PATH içinde bu karma-patlama hattı ile bir Python betiği çalışır. –
İkili dosyalarınız için PATH aranması normaldir. Senaryonuzdaki problem, kullanıcının "." onların yollarında, komutları çalıştırmak için PATH kabuklarını kullanıyorlar. –
@Phil: Prensip olarak, problemin $ PATH ile olduğu konusunda hemfikirim, fakat pratikte, eğer kullanıcılar genellikle bu hatayı yapıyorlarsa, bir ölçüde bunu görmezden gelmek sorumsuzluktur. –