Sh ve bash arasındaki fark
Kabuk programları yazarken, sık sık /bin/sh
/bin/bash
kullanın. Ben genelde bash
ama aralarındaki fark nedir bilmiyorum kullanın.
bash
sh
arasındaki temel fark nedir?
Biz bash
sh
programlama olduğunda haberdar olmak için ne yapmak gerekiyor?
CEVAP
Ne sh
sh
(veya Kabuk Komut Dili) programlama dili POSIX
standardtarafından açıklanmıştır.
Birçok uygulamaları (ksh88
, dash
, ...)var. bash
da olabilir
sh
(aşağıya bakınız) uygulaması olarak kabul edilir.
sh
bir şartname olduğu için değil, bir uygulama, 16* *bir sembolik link.
(veya sabit bir bağlantı) bir çoğu gerçek uygulama sistemleri. POSIX
Bash nedir
bash
sh
-uyumlu bir uygulama olarak birkaç yıl POSIX standardını öncedir rağmen) başladı, ama zaman geçtikçe pek çok uzantıları aldı. Bu uzantılar çoğu kendisi tarafından bash
geçerli bir POSIX kabuk değil bu yüzden geçerli POSIX kabuk betikleri davranışını değiştirebilir. Daha doğrusu, POSIX kabuk dilinin bir lehçesi.
bash
daha POSIX uyumlu yapar --posix
anahtarı destekler. Ayrıca eğer sh
olarak çalıştırılan POSIX taklit etmeye çalışır.
== bash sh?
Uzun bir süre /bin/sh
/bin/bash
işaret etmek için kullanılan en GNU/Linux sistemlerinde. Sonuç olarak, ikisi arasındaki farkı görmezden güvenli hale gelmişti neredeyse. Ama bu son zamanlarda değişmeye başladı.
/bin/sh
/bin/bash
(ve /bin/bash
bile olmayabilir bazı) işaret etmediği sistemleri bazı popüler örnekler şunlardır:
dash
sh
sembolik olan Debian ve Ubuntu Modern sistemlerde, varsayılan olarak;- Genellikle Linux sistemi sırasında çalıştırılan Busybox,
initramfs
bir parçası olarak zaman önyükleme.ash
kabuk uygulaması kullanır. - BSD. OpenBSD
pdksh
, Korn kabuğunu soyundan kullanır.sh
FreeBSD orijinal UNIX Bourne shell torunu.
Mesele çizgi
Sonuçta her şey sana bağlı, «» çizgi. mesele yazarak kullanmaya karar vermeye gerek yok
E. g.
#!/bin/sh
sh
(ve bu işaret ne olursa olsun) kullanacak
#!/bin/bash
eğer varsa, ve eğer değilse, bir hata iletisi ile başarısız) /bin/bash
kullanın. Tabii ki, aynı zamanda, örneğin başka bir uygulama belirtebilirsiniz
#!/bin/dash
Bir kullanılacak
Kendi komut için, aşağıdaki nedenlerle sh
tercih ederim:
- standart
- çok daha basit ve daha kolay öğrenmek için
- eğer
sh
güçlü olması gerekirbash
, yok eğer bile POSIX sistemleri arasında taşınabilir
De bash
kullanmanın yararları vardır. Özellikleri programlama için daha uygun ve diğer modern programlama dillerinde programlamaya benzer. Bu kapsamlı yerel değişkenler gibi şeyler ve diziler vardır. Düz sh
çok minimalist bir programlama dili.
Dönüş ve BASH fonksiyonları çıkış aras...
Bash, tek ve çift tırnak arasındaki fa...
'arasındaki fark ne [[[bash?...
/Sh - & & arasındaki fark; Bash?...
köşeli parantez ve çift köşeli parante...