Internal reference: topics/02-1.md

Shellvariablen speichern zugewiesene Wert. Eine Variable kann eine Zahl enthalten, ein Zeichen, oder einen String. Bei Variablennamen wird auf Groß - und Kleinschreibung geachtet, sie können aus Buchstaben und einem Unterstrich \_ bestehen.

Wertzuweisungen werden mit einem '=' Zeichen programmiert und es sind keine Leerzeichen um das '=' erlaubt:

PRICE_PER_APPLE=5
MyFirstLetters=ABC
greeting='Hello        world!'

Ein Backslash
wird benutzt, um spezielle Zeichen darzustellen:

PRICE_PER_APPLE=5
echo Der Preis eines Apfels ist: \$ $PRICE_PER_APPLE

Man kann die Variable mit ${} umgeben, um Zweideutigkeiten zu verhindern:

MyFirstLetters=ABC
echo Die ersten 10 Buchstaben des Alphabets sind: ${MyFirstLetters}DEFGHIJ

Eine Variable mit zu umgeben, sorgt dafür, dass die Leerzeichen erhalten bleiben.

greeting='Hello        world!'
echo $greeting Jetzt mit Leerzeichen: $greeting

Variablen können die Ausgabe eines Befehls zugewiesen werden. Dies nennt man Substitution. Substitution erreicht man, indem man den Befehl mit $() oder mit den sog. Backquotes \\ umgibt.

FILELIST=''ls''
FileWithTimeStamp=/tmp/my-dir/file_$(/bin/date +%Y-%m-%d).txt

In anderen Worten: Beim Ausführen des Skripts wird der Befehl innerhalb der $() Klammern ausgeführt und die Ausgabe abgegriffen.


Folgend die wichtigsten, automatisch verwalteten Variablen der Bash:

  1. $LOGNAME Login-Name des Benutzers
  2. $0 Der Name des aufgerufenen Shellscripts
  3. $1 - $9, ${10}, …, $* Parameter des aufgerufenen Shellscripts
  4. $# Anzahl Parameter des aufgerufenen Shellscripts
  5. $$ Die Prozessnummer des aufgerufenen Shellscripts
  6. $? Der Beendigungsstatus eines Shellscripts
  7. $! Die Prozessnummer des zuletzt gestarteten Hintergrundprozesses
  8. $PWD Aktuelles Arbeitsverzeichnis
  9. $OLDPWD Der Wert ist das zuvor besuchte Arbeitsverzeichnis; wird vom Kommando cd gesetzt.
  10. $HOME Heimverzeichnis für den Benutzer; Standardwert für cd
  11. $UID Die User-ID des Anwenders. Diese Kennung ist in der Datei /etc/passwd dem Benutzernamen zugeordnet.
  12. $PATH Suchpfad für die Kommandos (Programme); meistens handelt es sich um eine durch Doppelpunkte getrennte Liste von Verzeichnissen, in denen nach einem Kommando gesucht wird, das ohne Pfadangabe aufgerufen wurde; Standardwerte: PATH=:/bin:/usr/bin
  13. $CDPATH Suchpfad für das cd-Kommando
  14. $SHELL Zeigt die aktuelle Shell mit dem Pfad an
  15. $RANDOM Pseudo-Zufallszahl zwischen 0 bis 32767
  16. $REPLY Bei Menüs (select) enthält REPLY die ausgewählte Nummer.
  17. $SECONDS Enthält die Anzahl von Sekunden, die seit dem Start (Login) der aktuellen Shell vergangen ist.
  18. $PROMPT_COMMAND Hier kann ein Kommando angegeben werden, das vor jeder Eingabeaufforderung automatisch ausgeführt wird.
  19. $PS1 Primärer Prompt; Prompt zur Eingabe von Befehlen.
  20. $TZ Legt die Zeitzone fest (hierzulande MET = Middle European Time)

Daniel Garavaldi

  • de/modul/m122_aws/topics/02_1.txt
  • Zuletzt geändert: 2025/10/30 21:46
  • von dgaravaldi