알엠퀴스트 셸
Almquist shell개발자 | 케네스 알름퀴스트 |
---|---|
초기 릴리즈 | 1989년 5월 30일, | 전(
기입처 | C |
운영 체제 | Unix와 같은 |
플랫폼 | 크로스 플랫폼 |
유형 | Unix 쉘 |
웹 사이트 | www.in-ulm.de/~마스체크/매스체크![]() |
Almquist 쉘(A Shell, ash 및 sh라고도 함)은 1980년대 후반 Kenneth Almquist에 의해 작성된 경량 Unix 쉘입니다.처음에는 Bourne 쉘의 System V.4 배리언트의 클론이었지만 1990년대 초에 출시된 Unix의 BSD 버전에서 원래 Bourne 쉘을 대체했습니다.
역사
애쉬가 처음으로 투고를 통해 방출되었다 1989년 5월 30일 Rich Salz에 의해 승인 및 모델레이트된 comp.sources.unixUsenet 뉴스 그룹.이는 "System V 쉘의 대부분의 기능 및 일부 추가 기능으로 재실장"[1]이라고 설명되었습니다.
빠르고, 작고, 사실상 POSIX 표준의 Unix 쉘 사양과 호환성이[citation needed] 있는 ash는 행 편집이나 명령어 이력 메커니즘을 제공하지 않았습니다. 왜냐하면 Almquist는 이러한 기능이 터미널 드라이버로 옮겨져야 한다고 느꼈기 때문입니다.다만, 현재의 변종에서는 서포트되고 있습니다.
다음은 Slackware v14에서 ash 패키지 정보에서 추출한 것입니다.
재(케네스 알름퀴스트의 재 껍질)
경량(92K) Bourne 대응 셸.메모리가 적은 시스템에 적합하지만 bash, tcsh 및 zsh와 같은 셸을 모두 제공하는 것은 아닙니다.Bourne 쉘과 호환되는 대부분의 셸 스크립트를 실행합니다.Linux 에서는 대부분의 스크립트가 적어도 몇 가지 bash 고유의 구문을 사용하는 것 같습니다.Slackware 셋업 스크립트는 설치 디스크에서 사용되는 셸이기 때문에 주목할 만한 예외입니다.NetBSD는 /bin/sh로 애쉬를 사용합니다.
오리지널 애쉬 [2]릴리스에서 무수한 포크가 생산되었습니다.이러한 애쉬 파생물은 기본 셸로 설치됩니다(/bin/sh
)을(를) 포함한 일부 Linux 디스트리뷰션에서 사용할 수 있습니다.MINIX 3.2는 POSIX와 [3]테스트 기능이 다른 원래 애쉬 버전을 사용했습니다.이 셸 버전은 MINIX 3.3에서 대체되었습니다.안드로이드는 안드로이드 4.0까지 애쉬를 사용하다가 mksh로 전환했다.[4]
대시
개발자 | 허버트 쉬 |
---|---|
초기 릴리즈 | 1997년 7월 15일, | 전(
기입처 | C |
운영 체제 | Linux, Android |
유형 | Unix 쉘 |
웹 사이트 | gondor.apana.org.au/ ~http/http/http/http |
1997년 허버트 쉬가 포트ash
NetBSD에서 DebianLinux로 이동합니다.2002년 9월 릴리스 0.4.1에서 이 포트는 Dash(Debian Almquist 쉘)로 이름이 변경되었습니다.Xu의 주된 우선 순위는 POSIX 준거와 슬림한 [2]구현입니다.
이전 버전과 마찬가지로 Dash는 국제화와 현지화, 멀티바이트 문자 인코딩(둘 다 POSIX에서 필요)을 모두 지원하지 않습니다.GNU Readline 기반의 행 편집 및 이력 지원은 옵션입니다(--with-libedit
).
Debian과 Ubuntu에서의 도입
Ubuntu는 두께가 얇기 때문에 Dash를 디폴트로 채택하기로 결정했습니다./bin/sh
[5][6] 2006년에.Dash를 사용하는 이유는 특히 운영체제 부팅 시 이전 버전의 Debian 및 Ubuntu에 비해 셸 스크립트의 [7]실행 속도가 빠르기 때문입니다.단, Bash는 여전히 대화형 로그인 [8]셸입니다.대시가 기본값이 되었습니다./bin/sh
2006년 [6]10월 6.10 릴리즈부터 Ubuntu에 도입되었습니다.대시가 Bash를 대체하여 기본값이 되었습니다./bin/sh
데비안 6(스퀴즈)[5]에 있습니다.
그 결과 shebang [9][10]행에 올바르게 선언하지 않고 Bash 고유의 기능("bashism")을 사용하는 셸 스크립트가 다수 발견되었습니다.이 문제는 Ubuntu에서 처음 발견되었으며 Ubuntu 유지보수는 모든 스크립트가 POSIX 표준을 준수하도록 결정했습니다.변경은 나중에 Debian으로 업스트림되었고, 곧 Dash가 기본값으로 채택되었습니다./bin/sh
그 결과, 모두/bin/sh
Debian과 Ubuntu의 스크립트는 POSIX에 준거할 것을 보증합니다.단, 편의상 Dash에 병합된 확장을 위해 남겨둡니다(local
,echo -n
,test -a / -o
Slackware Linux에서도 비슷한 이행이 일어나고 있지만,[11][12]ash
는 부분적으로만 [2]대시 기반입니다.
임베디드 Linux
Ash(주로 대시 포크)는 임베디드 Linux 시스템에서도 매우 인기가 있습니다.대시 버전 0.3.8-5는 이 영역에서 자주 사용되는 캐치올 실행 파일인 BusyBox에 통합되어 DSLinux, Alpine Linux, Tiny Core Linux 및 OpenWrt, 토마토, DD-WRT 등의 Linux 기반 라우터 펌웨어 배포에 사용됩니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Almquist, Kenneth (May 30, 1989). Rich Salz (ed.). "v19i001: A reimplementation of the System V shell, Part01/08". Usenet newsgroup, comp.sources.unix.
- ^ a b c Mascheck, Sven. "Ash (Almquist Shell) Variants". www.in-ulm.de.
- ^ Thomas E. Dickey (2015). "TEST versus Portability". Retrieved March 1, 2020.
- ^ Elliott Hughes (2018-06-20). "Android's shell and utilities". Retrieved 2020-02-29.
- ^ a b "Non-interactive Shell". Debian Wiki. 2020-01-13. Retrieved 2020-02-29.
- ^ a b "Dash as /bin/sh". Ubuntu Wiki. 2017-12-16. Retrieved 2020-02-29.
- ^ Neal Krawetz (2011). Ubuntu: Powerful Hacks and Customizations. John Wiley & Sons. p. 178. ISBN 9781118080382.
- ^ Christopher Negus; Francois Caen (2011). Ubuntu Linux Toolbox. John Wiley & Sons. p. 49. ISBN 9781118079140.
- ^ Egil Hasting (2006-09-20). "Script that are using bash could be broken with the new symlink". Launchpad. Retrieved 2020-02-29.
- ^ comotion (2007-09-21). "dash as #!/bin/sh introduces countless incompatibilities". Launchpad. Retrieved 2020-02-29.
- ^ "10. Files". Debian Policy Manual v4.5.0.2.
- ^ Linux 일반 명령어 매뉴얼 –