Substitutionen - Übersicht Der Kommandozeileninterpreter Bash Inhalt Index


Geschweifte Klammern

Die Bash setzt aus in Klammern eingeschlossenen Zeichenketten (durch Kommas getrennt) alle möglichen Kombinationen zusammen:

user@sonne> echo {a,b}{1,2,3}
a1 a2 a3 b1 b2 b3

user@sonne> mkdir {bla,foo}{1,2}{a,b,c}
user@sonne> ls
bla1a  bla1c  bla2b  foo1a  foo1c  foo2b
bla1b  bla2a  bla2c  foo1b  foo2a  foo2c

Sind die Klammerausdrücke von konstanten Zeichenketten umgeben, werden diese Bestandteil der generierten Zeichenkette:

user@sonne> touch part_{1,2,3}.txt
user@sonne> ls
part_1.txt  part_2.txt  part_3.txt

Geschweifte Klammern dürfen verschachtelt werden:

user@sonne> mkdir -p bsp/{ucb/{ex,edit},lib/{bla,foo}}
user@sonne> ls bsp/ucb/
edit  ex

Tilde

Alle einer Tilde ~ folgenden Buchstaben bis zum ersten Slash / oder Leerzeichen werden von der Bash als Benutzername interpretiert und - falls dieser existiert - durch den Pfad zum Heimatverzeichnis des Nutzers ersetzt:

user@sonne> echo ~user/
/home/user

Folgt der Tilde unmittelbar der Slash (oder ein Leerzeichen), so wird der Ausdruck als Heimatverzeichnis des aktuellen Nutzers interpretiert:

user@sonne> echo ~/
/home/user

Folgt einer Tilde ein +, so wird der Ausdruck durch den Wert der Variablen PWD (aktuelles Verzeichnis) ersetzt; folgt ein -, betrifft es die Variable OLDPWD (vorheriges Verzeichnis):

user@sonne> cd /usr/src
user@sonne> echo ~+
/usr/src

user@sonne> echo ~-
/home/usr

Bei Variablenzuweisungen wird die Tildeerweiterung angewandt, falls die Tilde unmittelbar auf ein "=" folgt:

user@sonne> MYPATH=~/bin user@sonne> echo $MYPATH /home/user/bin


Substitutionen - Übersicht Der Kommandozeileninterpreter Bash Inhalt Index