Linux:bash: Unterschied zwischen den Versionen
Aus Alexander's Wiki
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Output == | |||
<source lang="bash" encl="div"> | |||
unbuffer program [arguments...] 2>&1 | tee outfile | |||
</source> | |||
* ''2>&1'' führt die Ausgaben von ''stderr'' und ''stdout'' zusammen. | |||
* ''tee'' gibt die Ausgaben auf dem Bildschirm aus und schreibt sie in eine Datei. | |||
* Das Programm ''unbuffer'' aus dem ''expect''-Paket synkronisiert die Ausgaben von ''stderr'' und ''stdout'', kann aber auch nötigenfalls weggelassen werden. | |||
== Variablenvergleich == | |||
<source lang="bash" encl="div"> | <source lang="bash" encl="div"> | ||
Zeile 12: | Zeile 23: | ||
# false | # false | ||
fi | fi | ||
// Existenz der Variable | // Existenz der Variable | ||
if [ -z "$var" ]; then | if [ -z "$var" ]; then | ||
# wenn Variable nicht existiert | |||
fi | |||
// Leere Variable | // Leere Variable | ||
if [ -n "var" ]; then | if [ -n "var" ]; then | ||
# wenn in der Variablen etwas drinnen steht | |||
fi | |||
</source> | |||
== Arithmetik == | |||
<source lang="bash" encl="div"> | |||
// Verneinung | |||
if [ ! -z "$var" ]; then | |||
# wenn in der Variablen etwas drinnen steht | |||
fi | fi | ||
Zeile 27: | Zeile 48: | ||
fi | fi | ||
</source> | |||
== Dateioperationen == | |||
<source lang="bash" encl="div"> | |||
// Existenz einer Datei | |||
if [ -f /usr/local/bin/hanasync ]; then | |||
rm -f /usr/local/bin/hanasync | |||
fi | |||
// Existenz eines Verzeichnissen | |||
if [ -d /usr/local/bin ]; then | |||
# Verzeichnis existiert | |||
fi | |||
</source> | |||
== Parameter == | |||
<source lang="bash" encl="div"> | |||
while getopts "p:rl" opt; do | |||
case "$opt" in | |||
p) var=$OPTARG | |||
;; | |||
r) methodeI | |||
;; | |||
l) methodeII | |||
;; | |||
\?) echo "Invalid option: -$OPTARG" >&2 | |||
exit | |||
;; | |||
esac | |||
done | |||
</source> | |||
== Schleifen == | |||
<source lang="bash" encl="div"> | |||
</source> | </source> |
Aktuelle Version vom 28. Februar 2017, 09:23 Uhr
Output
unbuffer program [arguments...] 2>&1 | tee outfile
- 2>&1 führt die Ausgaben von stderr und stdout zusammen.
- tee gibt die Ausgaben auf dem Bildschirm aus und schreibt sie in eine Datei.
- Das Programm unbuffer aus dem expect-Paket synkronisiert die Ausgaben von stderr und stdout, kann aber auch nötigenfalls weggelassen werden.
Variablenvergleich
// Variable - Textvergleich
if [ "$var" == "text" ]; then
# equals
fi
// Variable - boolean-Vergleich
if [ "$var" = true ]; then
# true
else
# false
fi
// Existenz der Variable
if [ -z "$var" ]; then
# wenn Variable nicht existiert
fi
// Leere Variable
if [ -n "var" ]; then
# wenn in der Variablen etwas drinnen steht
fi
Arithmetik
// Verneinung
if [ ! -z "$var" ]; then
# wenn in der Variablen etwas drinnen steht
fi
// Verknüpfung - oder
if [ -z "$var" ] || [ "$var" == false ]; then
fi
Dateioperationen
// Existenz einer Datei
if [ -f /usr/local/bin/hanasync ]; then
rm -f /usr/local/bin/hanasync
fi
// Existenz eines Verzeichnissen
if [ -d /usr/local/bin ]; then
# Verzeichnis existiert
fi
Parameter
while getopts "p:rl" opt; do
case "$opt" in
p) var=$OPTARG
;;
r) methodeI
;;
l) methodeII
;;
\?) echo "Invalid option: -$OPTARG" >&2
exit
;;
esac
done