SORU
20 NİSAN 2011, ÇARŞAMBA


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
20 NİSAN 2011, ÇARŞAMBA


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:

  1. dash sh sembolik olan Debian ve Ubuntu Modern sistemlerde, varsayılan olarak;
  2. Genellikle Linux sistemi sırasında çalıştırılan Busybox, initramfs bir parçası olarak zaman önyükleme. ash kabuk uygulaması kullanır.
  3. 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ı gerekir bash, 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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • FRED

    FRED

    1 EKİM 2005
  • friendz.net

    friendz.net

    29 EKİM 2010