Hala bir / bin / sh binary ile sistemler var mı?


24

/bin/sh, Bourne kabuğu Unix sistemleri için varsayılan kabuk olarak kullanılan, 1977 yılında yarattı.

Günümüzde bu dosya hala var ancak çoğunlukla sadece sistemde kurulu olan varsayılan POSIX uyumlu kabuğa sembolik bir bağlantı olarak:

  • RHEL / CentOS’a /bin/bash, Bourne Again’e göre
  • /bin/dashDebian Almquist kabuğuna işaret ettiği Ubuntu Linux'ta
  • Debian'a işaret eder /bin/dash(6.0 ve üstü; eski Debian sürümleri bunu işaret etti /bin/bash)

Unix sistemi var mı veya Linux hala sağladığını, dağıtıma: Hangi beni merak yaptı ikili için /bin/sh?




1
macOS yapar. Belki bu FreeBSD olarak sayılır.
DisplayName

1
Küçük bellek ayak izi ile gömülü linux sistemler için buildroot genellikle sadece düz / bin / sh ( meşgul kutusuna symlink) kullanır. Bunun bir / bin / sh binary ile sistem olarak sayılmasını isteyip istemediğinizden emin değilim.
Jürgen Schwietering

Yanıtlar:


30

/bin/sh her zaman bir sembolik bağlantı değildir

NetBSD, /bin/shsembolik bağlantı olmayan bir sistemdir . Varsayılan yükleme üç kabuk içerir: Korn kabuğu, C kabuğu ve değiştirilmiş Almquist kabuğu. Bunlardan ikincisi yalnızca olduğu gibi kurulur /bin/sh.

Interix (Windows NT için ikinci POSIX alt sistemi), /bin/shbir sembolik bağlantıya sahip değildir . MirBSD Korn kabuğunun tek ikili iki kat bağlantılıdır /bin/shve /bin/mksh.

FreeBSD ve türev TrueOS (eski PC BSD) her ikisi de Tenex Cı bir kabuğu vardır /bin/cshve /bin/tcsh, gibi Almquist kabuğu (yalnızca) /bin/sh. Orada da bağlantı yok.

OpenBSD (orijinal) C kabuğu /bin/cshve PD Korn kabuğu olarak üç kez bağlantılı /bin/sh, /bin/kshve /bin/rksh. Ayrıca hiçbir sembolik bağlantı yok.


4
OpenSolaris ve Schillix hakkında da söylenecek şeyler var.
JdeBP

Bu konuya sahip olmanız için oldukça memnun olurdum. Telaşa gerek yok. @schily, zaman zaman bir Stack Exchange katılımcısıdır. Belki xe Schillix ve OpenSolaris'i doldurur.
JdeBP

Bir bağlantının neden bu kadar önemli olduğunu anlamıyorum. /binYaptığım dizinde eğer ln ksh shbir hardlinkçağrı var sh, bu bir bağlantı değil. Bir shikili mi?
sorontar

İnanıyorum ki '/ bin / sh' içine yerleştirilmiş ya da sembolik olarak bağlanmış bazı ikili dosyalar için amaçlanan şey budur. Tüm sistemler AFAIK var /bin/sh. Hiçbiri AFAIK eski bir ATT sh ile birlikte gelmez Bir örnek olarak, Debian sistemlerinde çizgi olarak yakın olarak olması amaçlanmıştır mümkündür eski için /bin/sh.
sorontar

Sen öncül ile sorunu alıyor sorunun . Bu yorum bir cevaba aykırı olarak yerleştirilmiştir.
JdeBP

14

Solaris 10 hala eski Bourne kabuğu ikili vardır /bin/shve bu kesinlikle değil bir POSIX uyumlu kabuğu.

Umarım, Solaris 11 sağlayarak bu can sıkıcı geleneği kırdı ksh93olarak /bin/sh.


4

Bu OSX kutusu aşağıdaki gibi / bin / sh dosyasına sahiptir:

$ ls -alF /bin/sh
-r-xr-xr-x  1 root  wheel  632672 May  5  2016 /bin/sh*
$ uname -a
Darwin AUS-LM-000421.local 15.6.0 Darwin Kernel Vers...

2
İlginç bir şekilde, her iki dosya da benim dizüstü bilgisayarımda GNU bash 3.2.57 (1) - sürümünün yeniden yayınlandığını bildirdi, ancak birkaç kilobayt (632672 bayt / bin / sh için / 628496 bayt / bin / bash) farklı.
Gaurav,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.