Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Shell-Programmierung von Jürgen Wolf
Einführung, Praxis, Referenz
Buch: Shell-Programmierung

Shell-Programmierung
782 S., mit CD, 44,90 Euro
Rheinwerk Computing
ISBN 3-89842-683-1
gp Kapitel A Anhang
  gp A.1 Shell-Builtin-Befehle
  gp A.2 Externe Kommandos
  gp A.3 Shell-Optionen
  gp A.4 Shell-Variablen
  gp A.5 Kommandozeile editieren
  gp A.6 Wichtige Tastenkürzel (Kontrolltasten)
  gp A.7 Initialisierungsdateien der Shells
  gp A.8 Signale
  gp A.9 Sonderzeichen und Zeichenklassen


Rheinwerk Computing

A.4 Shell-Variablen  toptop

Vordefinierte Shell-Variablen (für Bourne-Shell, bash und Korn-Shell)


Tabelle A.4   Vordefnierte Variablen für alle Shells

Shell-Variable Bedeutung
CDPATH Suchpfad für das cd-Kommando
HOME Heimverzeichnis für den Benutzer; Standardwert für cd
IFS Wort-Trennzeichen (IFS = Internal Field Separator); Standardwerte sind Leerzeichen, Tabulator- und Newline-Zeichen.
LOGNAME Login-Name des Benutzers
MAIL Pfadname der Mailboxdatei, wo eingehende Mails abgelegt werden
MAILCHECK Zeitangabe in Sekunden, wie lange die Shell wartet, bevor eine Überprüfung der Mailbox stattfindet, ob eine neue Mail eingegangen ist; Standardwert ist alle 600 Sekunden.
MAILPATH Ist diese Variable gesetzt, wird MAIL unwirksam, somit eine Alternative für MAIL. Allerdings können hier mehrere Pfadangaben getrennt mit einem : angegeben werden. Die zur Pfadangabe gehörende Meldung kann mit % getrennt werden und nach diesem angegeben werden.
MANPATH Pfadnamen, in denen die man-Pages (Manual-Pages) gesucht werden
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, welches ohne Pfadangabe aufgerufen wurde; Standardwerte: PATH=:/bin:/usr/bin
PS1 Primär-Prompt; Prompt zur Eingabe von Befehlen (im Buch lautet dies bspw. you@host > für den normalen und # für den Superuser).
PS2 Sekundärer Prompt; Prompt für mehrzeilige Befehle; im Buch und auch als Standardwert wird > verwendet.
SHACCT Datei für Abrechnungsinformationen
SHELL Pfadname der Shell
TERM Terminal-Einstellung des Benutzers (bspw. xterm oder vt100)
TZ Legt die Zeitzone fest (hier zu Lande MET = Middle European Time)

Vordefinierte Shell-Variablen (für die Korn-Shell und bash)


Tabelle A.5   Vordefinierte Variablen für die bash und Korn-Shell

Shell-Variable Bedeutung
COLUMNS Weite des Editorfensters, welches für den Kommandozeilen-Editor und die Menüs zur Verfügung steht; Standardwert 80
EDITOR Setzt den (builtin-)Kommandozeilen-Editor, wenn VISUAL oder set –o nicht gesetzt sind
ENV Enthält den Pfadnamen zur Environment-Datei, welche bei jedem (Neu–)Start einer (Sub-)Shell gelesen wird. Ist die reale User- und Gruppen-ID (UID/GID) ungleich der effektiven User- und Gruppen-ID (EUID/EGUID) und es wurde das su-Kommando ausgeführt, wird diese Datei nicht aufgerufen.
FCEDIT Pfad zum builtin-Editor für das fc-Kommando
FPATH Verzeichnisse, in denen der Autoload-Mechanismus nach Funktionsdefinitionen sucht; nicht definierte Funktionen können mittels typeset –fu gesetzt werden; FPATH wird auch durchsucht, wenn diese Funktionen zum ersten Mal aufgerufen werden.
HISTFILE Pfadname zur Befehls-Historydatei; Standardwert $HOME/.sh_history
HISTSIZE Hier wird festgelegt, wie viele Befehle in der Historydatei (HISTFILE) gespeichert werden
LC_ALL Hier findet man die aktuelle Ländereinstellung; ist diese Variable gesetzt, sind LANG und die anderen LC_*-Variablen unwirksam; de steht bspw. für deutschen Zeichensatz, C für ASCII (was auch der Standardwert ist).
LC_COLLATE Ländereinstellung, nach denen die Zeichen bei einem Vergleich sortiert (Reihenfolge) werden
LC_CTYPE Die Ländereinstellung, welche für die Zeichenklassenfunktionen verwendet werden soll; ist LC_ALL gesetzt, wird LC_TYPE unwirksam; LC_TYPE hingegen überdeckt wiederum LANG, falls dieses gesetzt ist.
LC_MESSAGES Sprache, in der die (Fehler-)Meldungen ausgegeben werden sollen
LANG Ist keine LC_*-Variable gesetzt, wird LANG als Standardwert für alle eben beschriebenen verwendet; gesetzte LC_*-Variablen haben allerdings Vorrang vor der Variablen LANG.
LINES Das Gegenstück zu COLUMN; legt die Höhe (Zeilenzahl) des Fensters fest; Standardwert 24
NLSPATH Pfad für die (Fehler-)Meldungen von LC_MESSAGE
PS3 Prompt für Menüs (mit select); Standardwert #
PS4 Debugging-Promptstring für die Option –x; Standardwert +
TMOUT Wird TMOUT Sekunden kein Kommando mehr eingegeben, beendet sich die Shell; Standardwert 0 steht für unendlich.

Vordefinierte Shell-Variablen (für die Korn-Shell only)


Tabelle A.6   Vordefinierte Variablen nur für die Korn-Shell

Shell-Variable Bedeutung
VISUAL Setzt den Kommandozeilen-Editor; setzt EDITOR außer Kraft, wenn gesetzt

Vordefinierte Shell-Variablen (für die bash only)


Tabelle A.7   Vordefinierte Variablen, nur in der bash vorhanden

Shell-Variable Bedeutung
BASH_ENV Enthält eine Initialisierungsdatei, die beim Start von einer neuen (Sub-)Shell anstatt .bashrc für Scripts aufgerufen wird
BASH_VERSINFO Versionsnummer der bash
DIRSTACK Ein Array, um auf den Inhalt des Directory-Stacks, der mit den Kommandos pushd, popd und dirs verwaltet wird, zuzugreifen; set zeigt diesen Wert häufig als leer an, er ist aber trotzdem belegt.
FIGNORE Alle hier angegebenen Dateiendungen werden bei der automatischen Erweiterung (Dateinamens-Ergänzung mit (˙_)) von Dateinamen ignoriert; mehrere Endungen werden durch : getrennt.
GLOBIGNORE Enthält eine Liste von Mustern, die Namen definiert, welche bei der Dateinamens-Expansion mittels * ? [ ] nicht automatisch expandiert werden sollen.
GROUPS Array mit einer Liste aller Gruppen-IDs des aktuellen Benutzers; wird ebenfalls von set als leer angezeigt, ist aber immer belegt
HISTCONTROL Damit können Sie steuern, welche Zeilen im Historypuffer aufgenommen werden sollen. Zeilen, die mit einem Leerzeichen beginnen, werden mit ignorespace ignoriert. Mit ignoredups werden wiederholt angegebene Befehle nur einmal im Historypuffer gespeichert. Beide Optionen (ignorespace und ignoredups) auf einmal können Sie mit ignoreboth verwenden.
HISTFILESIZE Länge der Kommando-Historydatei in Zeilen; HISTSIZE hingegen gibt die Anzahl der gespeicherten Kommandos an.
HISTIGNORE Eine weitere Variable ähnlich wie HISTCONTROL. Nur besteht hierbei die Möglichkeit, Zeilen von der Aufnahme in den Historypuffer auszuschließen. Es können Ausschlussmuster definiert werden. Alle Zeilen, die diesem Muster entsprechen, werden nicht im Historypuffer gespeichert. Mehrere Muster werden mit einem Doppelpunkt getrennt.
HOSTFILE Datei, die wie /etc/hosts zur Hostname-Vervollständigung verwendet wird
HOSTNAME Name des Rechners
IGNOREEOF Anzahl der EOFs ((Strg)+(D)), die eingegeben werden müssen, um die interaktive bash zu beenden; Standardwert 10
INPUTRC Befindet sich hier eine Datei, dann wird diese zur Konfiguration des Kommandozeilen-Editors anstatt ~/.inputrc verwendet.
MATCHTYPE Die CPU-Architektur, auf der das System läuft
OPTERR Ist der Wert dieser Variable 1, werden die Fehlermeldungen der getopts-Shell-Funktion ausgegeben. Enthält sie eine 0, werden die Fehlermeldungen unterdrückt; Standardwert 1
PIPESTATUS Es ist recht schwierig, an den Exitstatus eines einzelnen Kommandos zu kommen, welches in einer Pipeline ausgeführt wurde. Ohne PIPESTATUS ist kaum zu ermitteln, ob alle vorhergehenden Kommandos erfolgreich ausgeführt werden konnten. PIPESTATUS ist ein Array, welches alle Exitcodes der einzelnen Befehle des zuletzt ausgeführten Pipe-Kommandos enthält.
SHELLOPTS Liste aller aktiven Shell-Optionen. Hier können Optionen gesetzt werden, mit denen eine neue Shell aufgerufen werden soll.
TIMEFORMAT Ausgabeformat des time-Kommandos
allow_null_glob_expansion Hat diese Variable den Wert 1, werden Muster, die bei der Pfadnamenserweiterung (Dateinamens-Expansion) nicht erweitert werden konnten, zu einer leeren Zeichenkette (Nullstring) erweitert, anstatt unverändert zu bleiben. Der Wert 0 hebt dies auf.
cdable_vars Ist der Wert dieser Variable 1, kann dem cd-Kommando das Verzeichnis, in das gewechselt werden soll, auch in einer Variablen übergeben werden. 0 hebt dies wieder auf.
command_oriented_history Ist der Wert dieser Variable 1, wird versucht, alle Zeilen eines mehrzeiligen Kommandos in einem History-Eintrag zu speichern. 0 hebt diese Funktion wieder auf.
glob_dot_filenames Wird für den Wert dieser Variablen 1 eingesetzt, werden auch die Dateinamen, die mit einem Punkt beginnen, in die Pfadnamenserweiterung einbezogen. Der Wert 0 setzt dies wieder außer Kraft.
histchars Beinhaltet zwei Zeichen zur Kontrolle der Wiederholung von Kommandos aus dem Kommandozeilenspeicher. Das erste Zeichen leitet eine Kommandozeilen-Erweiterung aus dem Historypuffer ein. Die Voreinstellung ist das Zeichen !. Das zweite Zeichen kennzeichnet einen Kommentar, wenn es als erstes Zeichen eines Wortes auftaucht. Ein solcher Kommentar wird bei der Ausführung eines Kommandos ignoriert.
history_control Werte, die gesetzt werden können und ihre Bedeutungen, siehe HISTCONTROL
hostname_completion_file Siehe HOSTFILE
no_exit_on_failed_exec Ist der Wert dieser Variable 1, wird die Shell nicht durch ein abgebrochenes mit exec aufgerufenes Kommando beendet. 0 bewirkt das Gegenteil.
noclobber Befindet sich hier der Wert 1, können bestehende Dateien nicht durch die Ausgabeumlenkungen >, >& und <> überschrieben werden. Das Anhängen von Daten an eine existierende Datei ist aber auch bei gesetzten noclobber möglich. 0 stellt den alten Ursprung wieder her.
nolinks Soll bei einem Aufruf von cd nicht den symbolischen Links gefolgt werden, setzt man den Wert dieser Variable auf 1; Standardwert 0
notify Soll bei einem Hintergrundprozess, der sich beendet, die Nachricht sofort ausgegeben werden und nicht erst bei der nächsten Eingabeaufforderung, dann setzt man notify auf 1; Standardwert 0



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Shell-Programmierung
Shell-Programmierung
bestellen
 Buchtipps
Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-Programmierung


Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern