![]() ![]() ![]() |
![]() ![]() |
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
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
![]() ![]() ![]() |
![]() ![]() |