Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Almquist shell
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Adoption in Debian and Ubuntu === {{anchor|Slimness}}Because of its slimness, [[Ubuntu (operating system)|Ubuntu]] decided to adopt Dash as the default <code>/bin/sh</code><ref name="Debian">{{cite web | url=https://wiki.debian.org/Shell | title=Non-interactive Shell | website=[[Debian]] Wiki | date=2020-01-13 | access-date=2020-02-29}}</ref><ref name="Ubuntu">{{cite web | url=https://wiki.ubuntu.com/DashAsBinSh | title=Dash as /bin/sh | website=[[Ubuntu (operating system)|Ubuntu]] Wiki | date=2017-12-16 | access-date=2020-02-29}}</ref> in October 2006 with version 6.10. The reason for using Dash is faster [[shell script]] execution,<ref>{{cite book | author=Neal Krawetz | title=Ubuntu: Powerful Hacks and Customizations | year=2011 | publisher=[[John Wiley & Sons]] | pages=178 | url=https://books.google.com/books?id=h_zclqESvu8C&pg=PT178 | isbn=9781118080382}}</ref> especially during startup of the operating system, compared to previous versions of Debian and Ubuntu that used Bash for this purpose, although [[Bash (Unix shell)|Bash]] is still the default login shell for interactive use.<ref>{{cite book | author1=Christopher Negus | author2=Francois Caen | title=Ubuntu Linux Toolbox | publisher=John Wiley & Sons | year=2011 | url=https://books.google.com/books?id=L_IXUtw_w-AC&pg=PA49 | pages=49 | isbn=9781118079140}}</ref> A result of the shift is that many [[shell script]]s were found making use of [[Bash (Unix shell)|Bash]]-specific functionalities ("bashisms") without properly declaring it in the [[shebang (Unix)|shebang]] line.<ref>{{cite web | url=https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463 | title=Script that are using bash could be broken with the new symlink | author=Egil Hasting | date=2006-09-20 | publisher=[[Launchpad (website)|Launchpad]] | access-date=2020-02-29}}</ref><ref>{{cite web | url=https://bugs.launchpad.net/ubuntu/+source/dash/+bug/141481 | title=dash as #!/bin/sh introduces countless incompatibilities | author=comotion | date=2007-09-21 | publisher=Launchpad | access-date=2020-02-29}}</ref> The problem was first spotted in Ubuntu and the maintainers decided to make all the scripts comply with the [[POSIX]] standard. The changes were later upstreamed to Debian, which eventually adopted Dash as its default {{code|/bin/sh}} too in Debian 6 (Squeeze), released in February 2011.<ref name="Debian"/> As a result, Debian policy was amended to allow script developers to assume a largely POSIX-compliant shell, save for the extensions merged into Dash for convenience ({{code|local}}, {{code|echo -n}}, {{code|test -a / -o}}).<ref name=deb>{{cite web |title=10. Files |url=https://www.debian.org/doc/debian-policy/ch-files.html#scripts |website=Debian Policy Manual v4.5.0.2}}</ref><ref>{{man|1|checkbashisms|ManKier}}</ref> A similar transition has happened in Slackware Linux, although its version of {{code|ash}} is only partially based on Dash.<ref name=vars/>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)