Prompt

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Bash Logo black and white icon only.svg

Als englisch prompt wird in der IT eine Aufforderung an den Benutzer bezeichnet, eine Eingabe (input) zu tätigen. Dabei gibt es meist unterschiedliche Kennzeichnungen, die unterschiedliche Programme oder Modi signalisieren.[1] Auf Text-basierten Systemen werden dafür unterschiedliche Schriftzeichen als Präfix verwendet.[2] Ein Prompt ist oft abschaltbar und kann teilweise auch verändert und damit individuell angepasst werden.

Eine direkte Übersetzung von input prompt ins Deutsche ist Eingabeaufforderung, eine Bezeichnung, die unter Windows jedoch den Kommandozeileninterpreter bezeichnet.

Funktionsprinzip[Bearbeiten | Quelltext bearbeiten]

Möglicher Prompt einer Unix-Shell.
DOS-Prompt auf Laufwerk C: im Verzeichnis WIKIPEDIA.

Auf Großrechnern (englisch Mainframes) wurden oft Fernschreiber verwendet, die sowohl Ausgaben als auch Eingaben als Text ausgaben. Zur Unterscheidung zwischen der Ausgabe eines Programms und der Eingabe durch den Benutzer wurden einzelne Zeichen vorangestellt, sodass beim Lesen des Ausdrucks klar war, was ein Benutzer eingegeben hat und was die Ausgabe eines Programmes war. Unterschiedliche Präfix-Zeichen konnten zusätzlich z. B. eine Meldung des Betriebssystems sofort von der Meldung eines Programms unterscheidbar machen. Auf Terminals (und Terminalemulationen) wurde dieses Prinzip übernommen.

Auf Mikrocomputern, etwa dem Apple IIe, werden Meldungen im Textmodus auf einem Computermonitor ausgegeben und ebenfalls unterschiedliche Schriftzeichen als Prompt verwendet.[1]

Bei Betriebssystemen signalisiert ein „command prompt“, dass der Computer eine Eingabe erwartet. Auch hier gibt es unterschiedliche Zeichen – so haben etwa Unix-Shells unterschiedliche Prompt-Zeichen, die sich aber anpassen lassen. Auch unter PC-kompatiblem DOS ist der Prompt einstellbar. So lassen sich auch zusätzliche Informationen mit dem Prompt ausgeben, etwa der aktuelle Pfad, in dem sich ein Kommandozeileninterpreter gerade befindet.

Ein Beispiel ist der DOS-Befehl PROMPT (siehe Liste von DOS-Kommandozeilenbefehlen#P):

PROMPT $P$G

Hierbei steht $P für den aktuellen Pfad (path, siehe Verzeichnisstruktur) und $G für das Größer-als-Zeichen „>“, eine typische Ausgabe direkt nach dem Start von MS-DOS ist etwa C:\>. Auf frühen Versionen von DOS wurde der Pfad weggelassen, das entspricht PROMPT $G und ergibt immer >.

Unter den meisten Unix-Shells lässt sich der Prompt in ähnlicher Weise über die Umgebungsvariable PS1 (primärer Prompt) und PS2 (sekundärer Prompt) festlegen.[3][4] Ein Beispiel bei der Bourne-again shell, kurz Bash:

export PS1='\h@\w \d \t>'

In diesem Beispiel wird fortan der Name des Rechners (hostname) bis zum ersten Punkt (\h), gefolgt vom At-Zeichen (@), gefolgt vom aktuellen Arbeitsverzeichnis (working directory, \w), einem Leerzeichen  , dem Datum (date, \d), wieder einem Leerzeichen  , der Uhrzeit (time, \t) und einem Größer-als-Zeichen > als Prompt der primären Shell ausgegeben.

hostname@/home/username Do Apr 14 06:15:59>

Die Voreinstellung unter unixoiden Systemen ist meist derart, dass sich sowohl eine primäre von einer sekundären Shell sowie eine Benutzer- von einer root-Shell unterscheiden lässt. Unter Bash ist letzteres beispielsweise $ für einen regulären Benutzer (mit eingeschränkten Rechten) und # für den Benutzer root.[5]

Um die Aufmerksamkeit des Benutzers auf den Ort zu lenken, an dem eine Tastatureingabe landet, folgt hinter dem zuletzt ausgegebenen Prompt-Zeichen oft ein blinker Cursor. Bei grafischen Oberflächen, etwa dem Fenster einer Terminalemulation, blinkt der Cursor meist nur dann, wenn das Fenster auch den Fokus hat und eine Texteingabe auch wirklich dorthin geleitet wird. Alternativ zum Blinken werden auch Blockcursor genutzt und durch Farben das aktive Fenster und damit der aktive Prompt markiert.

C:\>

Großrechner[Bearbeiten | Quelltext bearbeiten]

Auf vielen Großrechnern, etwa dem System/360 von IBM, wurden Time-Sharing-Systeme eingesetzt. Ein Beispiel dafür ist das Michigan Terminal System (MTS), das zwischen 1967 und 1999 auf verschiedenen Universitäten im Einsatz war. Das MTS konnte auf zwei Arten genutzt werden: im batch mode ohne weitere Interaktion mit dem Benutzer, oder im terminal mode, also per interaktivem Zugriff über einen Terminal. In diesem interaktiven Modus werden unterschiedliche prefix characters verwendet (zu deutsch in etwa vorangestellte Schriftzeichen), die den Benutzer zu einer Eingabe auffordern: englisch „prompt the user for input“. Auf dem MTS waren dies:[6]

prefix characters des Michigan Terminal System
Zeichen Modus oder Programm Beschreibung
# MTS command mode Eingabepräfix des MTS, aber auch bei Ausgaben des MTS vorangestellt
? allgemeines Eingabepräfixzeichen (prompting prefix character) Beispiel: Eingabepräfix vom $CALC-Kommando
: MTS-Dateieditor
> $LIST und $COPY Ausgabe- und Eingabepräfix
+ Symbolic Debugging System (SDS)
. system loader Ausgaben des Loader
- $SYSTEMSTATUS-Kommando
@ MTS message system
  leeres Zeichen (blank); Benutzerprogramme

Das Präfix ist ein wichtiger Indikator, in welchem Modus oder in welchem Programm sich das System gerade befindet. Startete man Beispielsweise mit $CALC die Rechnerfunktion, konnten nur noch arithmetische Eingaben verarbeitet werden, bis die Rechnerfunktion mit dem Kommando STOP wieder beendet wurde – erst dann waren die MTS-Funktionen wieder verfügbar.[7] Durch das andere Prompt-Präfix ist jedoch jederzeit ersichtlich, in welchem Modus sich das System befindet und welche Eingaben daher möglich sind.

Beispiel (Eingaben sind fett dargestellt):

#$CALC
?2+3
=5
?SQRT(16)
=4
?STOP
#


Mit dem Kommand SET PFX=OFF konnte der Prompt auch ausgeschaltet werden, was z. B. für den Ausdruck eines Berichts nützlich sein konnte.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. a b Apple IIe technical reference manual. Addison-Wesley Publishing, University of California 1986, ISBN 978-0-201-17720-6, S. 60 (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “…character, called simply a prompt. The prompt indicates to the user that the program is waiting for input. Different programs use different prompt characters, helping to remind the user which program is requesting the input.”
  2. Apple IIe technical reference manual. Addison-Wesley Publishing, University of California 1986, ISBN 978-0-201-17720-6, S. 394 (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “prompt character: A text character displayed on the screen to prompt the user for some action.”
  3. Sumitabha Das: UNIX Concepts And Applications. Fourth Edition Auflage. Tata McGraw-Hill Publishing, 2006, ISBN 0-07-063546-3, 10.3 The Common Environment Variables, S. 198, Table 10.1 Common Environment Variables (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “PS1 – Primary prompt string; PS2 – Secondary prompt string”
  4. Jürgen Gulbins, Karl Obermayr, Snoopy: Linux, Volume II: Konzepte, Kommandos, Oberflächen. 1st edition Auflage. Springer-Verlag, 2003, ISBN 978-3-642-62464-3, 6 Die Shell als Benutzeroberfläche, S. 556, doi:10.1007/978-3-642-55474-2 (eingeschränkte Vorschau in der Google-Buchsuche).
  5. Jürgen Gulbins, Karl Obermayr, Snoopy: Linux, Volume II: Konzepte, Kommandos, Oberflächen. 1st edition Auflage. Springer-Verlag, 2003, ISBN 978-3-642-62464-3, A.4.4 Mögliche Variablen für das Promptzeichen der bash, S. 861, doi:10.1007/978-3-642-55474-2 (eingeschränkte Vorschau in der Google-Buchsuche).
  6. Georg Witzel: Michigan Terminal System. Getting Started: Introduction to MTS. University of Michigan Computing Center, Ann Arbor, Michigan August 1987, S. 19 (englisch, Volltext in der Google-Buchsuche).
  7. Thomas J. Schriber: Fundamental Use of the Michigan Terminal System. Graduate School of Business Administration, The University of Michigan, Michigan August 1976, S. 2–11 (englisch, Volltext in der Google-Buchsuche).