Dash
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Dash steht für Debian Almquist Shell. Die Dash ist kleiner und schneller als z.B. die Bash und erfüllt vollständig die POSIX-Spezifikation. Seit Ubuntu 6.10 ist die Dash die Standard nicht-interaktive Shell von Ubuntu. Dies wird erreicht, indem /bin/sh ein Symlink auf /bin/dash ist.
Die Dash ist allerdings im interaktiven Modus eher unkomfortabel. Deshalb ist der Standard für die interaktive Shell (also die Shell, auf der man arbeitet, wenn man ein Terminal öffnet) die Bash.
Dash nicht als Standardshell nutzen¶
Leider gibt es immer wieder Shellskripte, die nicht vollständig POSIX-kompatibel sind und nur funktionieren, wenn statt der Dash die Bash benutzt wird.
Im System¶
Entsprechend muss in diesen Fällen (temporär) die Bash im System als Standardshell eingetragen werden.
Nach Eingabe von
sudo dpkg-reconfigure dash
kann in einem Dialog definiert werden, ob Dash oder Bash als Standardshell aktiviert wird. Durch Wahl von "Ja" wird die Dash, durch "Nein" die Bash aktiviert. Diese Einstellung kann mit diesem Befehl jederzeit umgestellt werden.
Im Skript¶
Man kann dieses Problem vermeiden, indem man am Anfang des Skriptes nicht
#!/bin/sh
sondern
#!/bin/bash
verwendet, wenn das Skript auf die Bash angewiesen ist. Zu den Details siehe Shebang für Shellskripte.
Links¶
Homepage 🇬🇧
Dash as /bin/sh 🇬🇧 - Ubuntu-Wiki
Debian-Almquist-Shell - Wikipedia