Tercihen kullanmak için bu sitede ( Tercih edilen Bash shebang nedir? ) Öneriler de dahil olmak üzere bir dizi yerde gördüm . Hatta bir girişimci birey gördüğüm kullanılmasını öneriyorum oldu yanlış ve bash işlevselliği böyle yaparak kaybolacaktır.#!/usr/bin/env bash#!/bin/bash#!/bin/bash
Tüm bunlar, dolaşımdaki her sürücünün aslında tek bir ana sürücünün bir klonu olduğu sıkı kontrollü bir test ortamında bash kullanıyorum. Taşınabilirlik argümanını anlıyorum, ancak benim durumumda geçerli olmayabilir. #!/usr/bin/env bashAlternatifleri tercih etmek için başka bir neden var mı ve taşınabilirliğin bir endişe olduğunu varsaymak, onu kullanmanın işlevselliği bozması için herhangi bir neden var mı?
envyer olmayabilir /usr/bin. Shebang yorum IMHO tamamen kötü bir fikirdir. Varsayılan kod yorumcunuz gizli yorumları ele almıyorsa, bu sadece bir yorumdur. Bununla birlikte, komut dosyası yorumlayıcısının shebang yorumlarını işleyebileceğini ve bash yolunu biliyorsanız, yol çok uzun (olası) olmadığı sürece mutlak yolunu kullanarak çağırmamak için bir neden yoktur veya komut dosyasını muhtemelen taşıyabilirsiniz. / bin içinde bash bulunmayan bir sisteme. Daha sonra, daha önce bahsettiğim uyarılar taşınabilirlik içerdiği için bu durumda geçerlidir.
/etcya da /bin/sh. bashUnix benzeri sistemlerin çoğu için bir eklentidir. Sadece Linux'ta olduğu bashgaranti edilen /binve büyük olasılıkla olarak bağlantılı olduğu Linux'tur /bin/sh. Linux birçok insan için modern fiili Unix haline geldiği için Linux dışındaki sistemlerin var olabileceği unutuldu. Aşağıdaki kendi cevabımda Linux dedim çünkü dedin bash. Birlikte çalıştığım BSD kutularının birçoğu yüklü bile değildi.
/bin/bash. Bash varsayılan olarak kurulmaz. Eğer istersen, zorundasın pkg install bash. Kurulduktan sonra adresinde bulunur /usr/local/bin/bash. /bin/bashOpenBSD'de yüklü hiçbir şey yok . Bir #!/bin/bashhata irade hatası ve #!/usr/bin/env bashbaşarılı olacak.