Şunu kullanmanızı öneririm:
#!/bin/bash
% 100 taşınabilir değildir (bazı sistemler farklı bashbir konuma yerleştirilir /bin), ancak mevcut komut dosyalarının çoğunun ana konuma en az bir bağlantı #!/bin/bashyapmak /bin/bashiçin çeşitli işletim sistemlerine baskı uyguladığı gerçeği .
Alternatifi:
#!/usr/bin/env bash
önerildi - ancak envkomutun içinde olduğuna dair bir garanti yok /usr/bin(ve olmadığı yerlerde sistemleri kullandım). Ayrıca, bu form bashgeçerli kullanıcılarda ilk örneğini kullanacaktır; bu $PATH, bash kabuğunun uygun bir sürümü olmayabilir.
(Ancak , içinde olduğu veya sistemin çalışmasını sağlamak için bir şeyler yaptığı için /usr/bin/envmakul derecede modern bir sistem üzerinde çalışmalıdır. Yukarıda bahsettiğim sistem, muhtemelen yaklaşık 25 yıldır kullanmadığım SunOS 4 idi.)env/usr/bin
Sahip olmayan bir sistemde çalıştırmak için bir komut dosyasına ihtiyacınız varsa /bin/bash, komut dosyasını, doğru konumu gösterecek şekilde değiştirebilirsiniz (kuşkusuz rahatsız edici).
Ben de daha derinlemesine tradeoffs ele aldık cevabım için bu soruya .
Bir biraz karanlık güncelleme: Bir sistem I kullanımı Termux , bir masaüstü Linux benzeri Android altında çalıştığında, yok katmanın /bin/bash( basholan /data/data/com.termux/files/usr/bin/bash) - ama desteğe özel işlem vardır #!/bin/bash.
/usr/local/bin/bashOpenBSD'de.