OS X용 최소 POSIX 셸이 있나요?

OS X용 최소 POSIX 셸이 있나요?

OS X에 대한 최소 POSIX 쉘 구현이 있습니까? 나는 이식성이 뛰어난 쉘 스크립트를 작성하는 것을 좋아하며 가능한 한 많은 비호환성이나 악용 사례를 포착하고 싶습니다. 시스템을 교체할 생각은 없습니다 /bin/sh.

/bin/shOS X에서는 10.11.4GNU bash 3.2.57 또는 이를 기반으로 합니다.

$ /bin/sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.

/bin/bash두 파일은 다르지만 보고된 버전 문자열은 동일합니다. 그런데 왜 이런 일이 일어나는 걸까요?

$ diff /bin/sh /bin/bash
Binary files /bin/sh and /bin/bash differ

그럼에도 불구하고 POSIX 호환 모드는 이러한 형태의 중괄호 확장과 같이 bash표준에서 요구하지 않는 일부 작업(실제로는 보편적이지 않음)을 여전히 수행합니다 .local

$ echo {1..10}
1 2 3 4 5 6 7 8 9 10

답변1

MacPorts에는dash, 데비안이 사용하는 것입니다. 이 옵션과 기타 옵션에 대해서는 다음을 읽어보세요.최소한 POSIX.2 호환 쉘이 있습니까?, 답변에 따르면 표준이 여러 곳에서 모호합니다.

답변2

또한 다음이 dash있습니다.

Schily Bourne Shell은 OpenSolaris Bourne Shell 소스에서 파생되었습니다.

pkgin/pkgsrc에서 찾을 수 있습니다.

두 가지 옵션 pkgin:

  • 최소 POSIX 호환 변형(pbosh)
  • POSIX 호환 확장 변형(bosh)

Joyent는 매크로를 제공합니다pkgin 바이너리 패키지

http://schilytools.sourceforge.net/bosh.html

Mac에서는 사용하지 않았지만 OpenSolaris의 변형을 사용해 왔습니다.

관련 정보