Bash/Interaktiv: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
 Die Seite wurde neu angelegt: „Kategorie:Linux:Shell:Bash“  | 
				K Textersetzung - „–“ durch „-“  | 
				||
| (37 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[  | *Eine Interaktive Shell liest und schreibt auf das Terminal des Benutzers  | ||
** Ein- und Ausgabe sind mit dem Terminal verbunden.  | |||
= Ist meine Shell interaktiv? =  | |||
Bei Interaktiven Shells enthält der <span >''special parameter''</span> "-" ein "i", wenn die Shell interaktiv ist  | |||
 '''echo $-'''  | |||
 himBH  | |||
In nicht-interaktiven Shells ist zudem die Prompt-Variable PS1 nicht gesetzt!  | |||
== Verhalten interaktiver Shells ==  | |||
Der interaktive Modus der Bash wird gestartet, wenn das 'bash'-Kommando ohne ''non-option argument'' gestartet wird, also ohne auszuführendes Kommando oder Skript.* Bash liest Start-Dateien ein  | |||
* Job Kontrolle ist eingeschaltet  | |||
* Prompts sind gesetzt. '''PS2''' ist aktiviert für mehrzeilige Kommandos (">"), wird auch angezeigt, wenn Kommandos nicht korrekt abgeschlossen wurden.   | |||
* Kommandos werden mit ''readline<span > ''</span>von der Kommandozeile gelesen.  | |||
* Bash beachtet die Shell-Option '''ignoreeof''' statt unmittelbar zu terminieren, wenn sie ein EOF (End Of File) empfängt.  | |||
* Kommando-History und History-Expansion sind aktiviert  | |||
* Alias-Expansion ist aktiviert  | |||
* Ohne traps werden '''SIGTERM'''-Signale ignoriert  | |||
* Ohne traps wird '''SIGINT''' beachtet und behandelt, Ctrl+C, beendet beispielsweise nicht die interaktive Shell  | |||
* '''SIGHUP''' Signal an alle Jobs, beim Verlassen der Shell, kann mit der '''huponexit'''-Option konfiguriert werden  | |||
* Kommandos werden nach dem Lesen ausgeführt.  | |||
* Bash prüft periodisch nach neuen Mails  | |||
* Bash terminiert nicht, wenn sie auf eine unreferenzierte Variable triff  | |||
* ''redirection error<span > ''</span>interner Befehle terminiert die Shell nicht  | |||
* Fehler interner Befehle im POSIX-Mode terminieren die Shell nicht  | |||
* fehlerhafter Aufrufe mit '''exec''' terminieren die Shell nicht  | |||
* ''Parser syntax errors'' terminiert die Shell nicht  | |||
* einfacher spell check für die Argumente der internen Kommandos ist aktiviert  | |||
* Automatisches exit nach der in der Variable '''TMOUT''' festgelegten Zeitspanne ist aktiviert  | |||
=== Kommandosyntax ===  | |||
siehe '''[[Bash/Kommandosyntax]]'''  | |||
=== Ausführung von Kommandos ===  | |||
siehe '''[[Bash/Kommandos]]'''  | |||
=== Kommandozeile editieren ===  | |||
siehe '''[[Bash/Kommandozeile]]'''  | |||
=== History ===  | |||
siehe [[Bash/history]]  | |||
=== Jobkontrolle ===  | |||
siehe '''[[Linux/Shell:jobs]]'''  | |||
=== Verzeichnisstapel ===  | |||
'''dirs''', '''pushd''', '''popd''' verwalten den Stapel der internen Verzeichnisse.   | |||
* Mit '''pushd''' Verzeichnis wird das angegebene Verzeichnis auf dem Stapel abgelegt.   | |||
* Mit '''popd''' gelangen Sie anschließend zum zuletzt abgelegten Verzeichnis zurück.   | |||
* Den aktuellen Stapelinhalt zeigt der Befehl '''dirs''' an.   | |||
=== Pfad-Cache ===  | |||
[[hash]]  | |||
[[Kategorie:Bash/Interaktiv]]  | |||
Aktuelle Version vom 11. Mai 2025, 19:59 Uhr
- Eine Interaktive Shell liest und schreibt auf das Terminal des Benutzers
- Ein- und Ausgabe sind mit dem Terminal verbunden.
 
 
Ist meine Shell interaktiv?
Bei Interaktiven Shells enthält der special parameter "-" ein "i", wenn die Shell interaktiv ist
echo $- himBH
In nicht-interaktiven Shells ist zudem die Prompt-Variable PS1 nicht gesetzt!
Verhalten interaktiver Shells
Der interaktive Modus der Bash wird gestartet, wenn das 'bash'-Kommando ohne non-option argument gestartet wird, also ohne auszuführendes Kommando oder Skript.* Bash liest Start-Dateien ein
- Job Kontrolle ist eingeschaltet
 - Prompts sind gesetzt. PS2 ist aktiviert für mehrzeilige Kommandos (">"), wird auch angezeigt, wenn Kommandos nicht korrekt abgeschlossen wurden.
 - Kommandos werden mit readline von der Kommandozeile gelesen.
 - Bash beachtet die Shell-Option ignoreeof statt unmittelbar zu terminieren, wenn sie ein EOF (End Of File) empfängt.
 - Kommando-History und History-Expansion sind aktiviert
 - Alias-Expansion ist aktiviert
 - Ohne traps werden SIGTERM-Signale ignoriert
 - Ohne traps wird SIGINT beachtet und behandelt, Ctrl+C, beendet beispielsweise nicht die interaktive Shell
 - SIGHUP Signal an alle Jobs, beim Verlassen der Shell, kann mit der huponexit-Option konfiguriert werden
 - Kommandos werden nach dem Lesen ausgeführt.
 - Bash prüft periodisch nach neuen Mails
 - Bash terminiert nicht, wenn sie auf eine unreferenzierte Variable triff
 - redirection error interner Befehle terminiert die Shell nicht
 - Fehler interner Befehle im POSIX-Mode terminieren die Shell nicht
 - fehlerhafter Aufrufe mit exec terminieren die Shell nicht
 - Parser syntax errors terminiert die Shell nicht
 - einfacher spell check für die Argumente der internen Kommandos ist aktiviert
 - Automatisches exit nach der in der Variable TMOUT festgelegten Zeitspanne ist aktiviert
 
Kommandosyntax
siehe Bash/Kommandosyntax
Ausführung von Kommandos
siehe Bash/Kommandos
Kommandozeile editieren
siehe Bash/Kommandozeile
History
siehe Bash/history
Jobkontrolle
siehe Linux/Shell:jobs
Verzeichnisstapel
dirs, pushd, popd verwalten den Stapel der internen Verzeichnisse.
- Mit pushd Verzeichnis wird das angegebene Verzeichnis auf dem Stapel abgelegt.
 - Mit popd gelangen Sie anschließend zum zuletzt abgelegten Verzeichnis zurück.
 - Den aktuellen Stapelinhalt zeigt der Befehl dirs an.