Bash/Interaktiv: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Linux:“ durch „Linux/“
K Textersetzung - „Bash:“ durch „Bash/“
Zeile 31: Zeile 31:


=== Kommandosyntax ===
=== Kommandosyntax ===
siehe '''[[Bash:Kommandosyntax]]'''
siehe '''[[Bash/Kommandosyntax]]'''


=== Ausführung von Kommandos ===
=== Ausführung von Kommandos ===
siehe '''[[Bash:Kommandos]]'''
siehe '''[[Bash/Kommandos]]'''


=== Kommandozeile editieren ===
=== Kommandozeile editieren ===
siehe '''[[Bash:Kommandozeile]]'''
siehe '''[[Bash/Kommandozeile]]'''


=== History ===
=== History ===
siehe [[Bash:history]]
siehe [[Bash/history]]


=== Jobkontrolle ===
=== Jobkontrolle ===

Version vom 27. März 2023, 10:22 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 z.B. 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.

Pfad-Cache

siehe hash