Lehrer Nussbaumer - Linux bash-Programmierung

Grundlagen

Datenstrukturen

  1. Zeichenketten
  2. Datenfelder
  3. Umgebungs- Variable
  4. Reguläre Ausdrücke

Programmstrukturen 

Beispiele


-----------------
letzte Änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

Systemvariable

Die bash stellt eine Reihe sehr nützlicher Systemvariable zur Verfügung. Einige wichtige sind in der folgenden Tabelle aufgeführt:

Umgebungsvariable Bedeutung Beispiel
$BASH_VERSION Liefert die Versionsnummer der verwendeten bash
2.04.0(1)-release
$EUID Liefert die effektive Benutzer-ID des Shell-Prozeesses
500
$HISTFILE Enthält den Namen des History-Files für die bash
/home/alfred/.bash_history
$HISTSIZE Liefert die Anzahl der in der History-Datei gespeicherten Zeilen
500

Beispiel für History-Zeilen:

alfred@newbie:~ > tail .bash_history
ssh www.gymmelk.ac.at -l nus
exit
mysql
exit
cd public_html
cd physik
vi index.php
ftp www.gymmelk.ac.at
ping www.gymmelk.ac.at
exit
alfred@newbie:~ >

$HOME Liefert den Pfad des aktuellen Verzeichnisses
/home/alfred
$IFS "Internal Field Separator". Gibt das Trennzeichen zwischen den Wörtern einer Eingabezeile (Defaultwert: Leerzeichen, Tabulator, Zeilenvorschub).
 
$LOGNAME Name des eingeloggten Benutzers
alfred
$OLDPWD Pfadname des vorhergehenden workdirectory (vgl. "cd -")
/home/alfred/public_html
$OSTYPE Name des Betriebssystems
linux
ehklar ;-)
$PATH Suchpfad für Kommandos
/usr/local/bin:/usr/bin:/usr/X11R6/bin:
/bin:/usr/lib/java/bin:/usr/games/bin:
/usr/games:/opt/gnome/bin:/opt/kde2/bi
n:/opt/kde/bin:/usr/openwin/bin:.
$PPID "Parent Process ID"; Prozess-ID des Elternprozesses
27701
$PS1, $PS2, $PS3, $PS4 "Prompt String"; Zeichenkette für Standardprompt.
alfred@newbie:~ > echo $PS1
\u@\h:\w >
$PWD Enthält das aktuelle Verzeichnis
/home/alfred/public_html/physik
$RANDOM Liefert eine Zufallszahl zwischen 0 und 32767
alfred@newbie:~ > echo $RANDOM
15681
$REPLY Enthält die Benutzereingabe (nach "read")
$SECONDS Liefert die Zeit, die seit dem Aufruf der aktuellen Shell vergangen ist in Sekunden
alfred@newbie:~ > echo $SECONDS
57484
$SHELL Pfad für die Shell
/bin/bash
$SHLVL Gibt die Schachtelungstiefe für Sub-Shells an (Login-Shell: 1)
1
$UID "User-ID"
500
$USER Name des eingeloggten Benutzers
alfred

© Alfred Nussbaumer, Weblog "MiniNuss"