/bin/sh
, powłoka Bourne'a utworzona w 1977 roku, była domyślną powłoką dla systemów uniksowych.
Obecnie plik ten nadal istnieje, ale głównie jako symboliczne łącze do domyślnej powłoki zgodnej z POSIX zainstalowanej w systemie:
- na RHEL / CentOS wskazuje na
/bin/bash
powłokę Bourne Again - w systemie Ubuntu Linux wskazuje na
/bin/dash
powłokę Debian Almquist - na Debianie wskazuje na
/bin/dash
(6.0 i później; starsze wersje Debiana miały na to uwagę/bin/bash
)
Co mnie ciekawi: Czy istnieje system Unix lub Linux distro, że nadal dostarcza binarny dla /bin/sh
?
shell
distributions
dr01
źródło
źródło
Odpowiedzi:
/bin/sh
nie zawsze jest dowiązaniem symbolicznymNetBSD to jeden system, w którym
/bin/sh
nie ma dowiązania symbolicznego. Domyślna instalacja obejmuje trzy powłoki: powłokę Korn, powłokę C i zmodyfikowaną powłokę Almquist. Spośród nich ten ostatni jest instalowany tylko jako/bin/sh
.Interix (drugi podsystem POSIX dla Windows NT) nie ma
/bin/sh
jako dowiązanie symboliczne. Pojedynczy plik binarny powłoki MirBSD Korn jest połączony dwukrotnie jako/bin/sh
i/bin/mksh
.FreeBSD i jego pochodna TrueOS (wcześniej PC-BSD) mają powłokę TENEX C zarówno jako, jak
/bin/csh
i/bin/tcsh
powłokę Almquist jako (tylko)/bin/sh
. Tam też nie ma dowiązania symbolicznego.OpenBSD do (oryginalnego) C zbiornika, jak
/bin/csh
i PD Korn połączone trzykrotnie jak/bin/sh
,/bin/ksh
i/bin/rksh
. Również brak dowiązania symbolicznego.źródło
/bin
katalogu, który wykonujęln ksh sh
, jesthardlink
wywołanesh
, to nie jest dowiązanie symboliczne. Czy to jestsh
plik binarny?/bin/sh
. Żaden AFAIK nie jest dostarczany ze starym ATT sh. Jako przykład, myślnik w systemach Debian ma być tak blisko jak to jest możliwe , aby stary/bin/sh
.Solaris 10 nadal ma starszą wersję binarną powłoki Bourne'a
/bin/sh
, i zdecydowanie nie jest to powłoka kompatybilna z POSIX.Mamy nadzieję, że Solaris 11 złamał tę irytującą tradycję, podając
ksh93
jako/bin/sh
.źródło
To pudełko OSX ma / bin / sh jako:
źródło