여전히 / bin / sh 바이너리가있는 시스템이 있습니까?


24

/bin/shBourne 쉘은 유닉스 시스템의 기본 쉘로 사용, 1977 년에 만들었습니다.

오늘날이 파일은 여전히 ​​존재하지만 대부분 시스템에 설치된 기본 POSIX 호환 쉘에 대한 심볼릭 링크로 존재합니다.

  • RHEL / CentOS /bin/bash에서는 Bourne Again 쉘을 가리 킵니다.
  • 우분투 리눅스 /bin/dash에서는 데비안 Almquist 쉘을 가리 킵니다.
  • 데비안에서는 /bin/dash(6.0 이상; 이전 데비안 릴리스는 가리 켰습니다 /bin/bash)

유닉스 시스템이 있는가, 또는 리눅스는 아직 제공, 배포판 : 어느 날 호기심 만든 바이너리를 위해 /bin/sh?




1
macOS는 않습니다. 어쩌면 FreeBSD로 간주 될 수도 있습니다.
DisplayName

1
작은 메모리 공간을 가진 임베디드 리눅스 시스템의 buildroot 는 보통 일반 / bin / sh ( 통화 상자로의 심볼릭 링크)를 사용합니다. 이것을 / bin / sh 바이너리가있는 시스템으로 계산할지 확실하지 않습니다.
Jürgen Schwietering

답변:


30

/bin/sh 항상 심볼릭 링크는 아닙니다

NetBSD는 /bin/sh심볼릭 링크가 아닌 하나의 시스템 입니다. 기본 설치에는 Korn 쉘, C 쉘 및 수정 된 Almquist 쉘의 세 가지 쉘이 포함됩니다. 이 중 후자는로만 설치됩니다 /bin/sh.

Interix (Windows NT 용 두 번째 POSIX 서브 시스템)에는 /bin/sh심볼릭 링크 가 없습니다 . MirBSD Korn 쉘의 하나의 바이너리로 두 번 연결되어 /bin/sh/bin/mksh.

FreeBSD와 그 파생물 인 TrueOS (이전 PC-BSD)는 TENEX C 쉘을 /bin/cshand로 /bin/tcsh, Almquist 쉘을 (only)로 갖습니다 /bin/sh. 거기에는 심볼릭 링크가 없습니다.

OpenBSD에는 (원래의) C 쉘이 /bin/csh있고 PD Korn 쉘 /bin/sh에는 /bin/ksh, 및으로 3 번 링크되어 /bin/rksh있습니다. symlink도 없습니다.


4
OpenSolaris와 Schillix에 대해서도 할 말이 있습니다.
JdeBP

난 당신이 요점을 가지고 매우 만족했을 것입니다. 걱정 마. @schily는 가끔 스택 교환 기고자입니다. 아마도 xe는 Schillix와 OpenSolaris를 채울 것입니다.
JdeBP

심볼릭 링크가 왜 중요한지 이해하지 못합니다. /bin내가 하는 디렉토리 ln ksh shhardlink호출 된 sh것이 있으면 심볼릭 링크가 아닙니다. 그것은인가 sh바이너리?
sorontar

나는 '/ bin / sh'에 배치되거나 심볼릭 링크 된 바이너리가 의도 한 것이 중요하다고 생각합니다. 모든 시스템 AFAIK에는 /bin/sh. AFAIK는 오래된 ATT sh와 함께 제공됩니다. 예를 들어, 데비안 시스템의 대시 는 가능한 오래된 것에 가깝습니다 /bin/sh.
sorontar

질문 의 전제 에 문제가 있습니다. 그러한 해설은 답변에 대해 잘못 배치되었습니다.
JdeBP

14

Solaris 10에는 여전히 레거시 Bourne 쉘 바이너리 /bin/sh가 있으며 POSIX 호환 쉘이 아닙니다 .

바라 건데, 솔라리스 11은 다음과 같은 기능을 제공하여이 짜증나는 전통을 깨고 ksh93으로 /bin/sh.


4

이 OSX 상자에는 다음과 같이 / bin / sh가 있습니다.

$ 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
흥미롭게도 두 파일 모두 랩톱에서 GNU bash 3.2.57 (1) 릴리스로보고되었지만 몇 킬로바이트 (/ bin / sh의 경우 632672 바이트, / bin / bash의 경우 628496 바이트)가 다릅니다.
Gaurav
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.