Dash

Hinweis:

Unter der Desktop-Oberfläche Unity bezeichnet der Begriff "Dash" etwas vollkommen anderes (siehe Unity Startmenü).

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Wiki/Icons/terminal.png 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.