나는 dash가 POSIX 표준을 매우 엄격하게 따른다는 것을 알고 있지만 추가 기능 없이는 100.00% 엄격한 POSIX가 아니라는 것을 알고 있습니다. 내가 아는 한, 가장 가까운/완전히 POSIX 호환 쉘은 올바른 POSIXly 플래그가 설정된 mrsh 또는 yash입니다.
이제 POSIX 표준에 지정되지 않은 대시의 부분/기능이 무엇인지 정확히 알고 싶습니다(전체 내용을 읽지 않고).POSIX.1-2017및 대시의 소스 코드).
나는 (주제에 대한 나의 지식이 있는 한) 인터넷 검색을 광범위하게 시도했지만 누가 생각했을 것입니까? 그것은 bash와 dash의 차이점과 dash가 POSIX와 얼마나 잘 호환되는지 등에 관한 것입니다.
답변1
dash
다음은 POSIX.1-2017에 명시된 추가 기능 목록과 내장 기능의 시작 부분입니다.
- 변수 및 옵션의 로컬 범위 지정은 내장된 지원을 통해 지원됩니다
local
(1989년 원래 Ash부터). -V
특정 / 옵션은 (일부 버전에서)-E
, 의-o vi
별칭 으로 지원됩니다-o emacs
.-I
별칭으로-o ignoreeof
(모든 옵션에는 단일 문자가 있으므로 에서 추적할 수 있으며$-
이를 현지화하는 데 사용할 수 있습니다local
).- 지원
-p
/-o privileged
옵션. -l
로그인 셸로 시작하는 옵션echo
이-n
옵션을 지원 합니다- 옵션
read
을 지원 합니다-p prompt
printf
지시문을 지원 합니다%f/e/E/g/G
.- 그리고
echo
출력 ESC를 지원합니다printf
.\e
- 그것은
[
/ , , , , 연산자를test
지원합니다-ef
-nt
-ot
<
>
ulimit
POSIX에서 지정한 더 많은 옵션을 지원합니다 .- 프로세스
MAIL
,MAILCHECK
,MAILPATH
변수.