Quotierung im Shell-Skript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Phantasmagorium
Beiträge: 15
Registriert: 26.07.2009 13:52:32

Quotierung im Shell-Skript

Beitrag von Phantasmagorium » 11.08.2014 16:02:23

Hallo,

in einem Shell-Skript möchte ich alle Optionen in einer Variablen zusammenfassen, etwa so:

Code: Alles auswählen

opts="--archive --verbose --rsh=\"ssh -p 12345\""
src="user@host:/mysourcedir"
dest="/mydestdir"
rsync $opts $src $dest
Herauskommen soll der rsync-Befehl, gefolgt von insgesamt fünf Argumenten:

Code: Alles auswählen

rsync --archive --verbose --rsh="ssh -p 1234" user@host:/mysourcedir /mydestdir
Das funktioniert aber so nicht. Die Option --rsh="ssh -p 12345" wird als drei Argumente --rsh="ssh, -p und 1234" interpretiert. Leider weiß ich nicht, wie ich die Optionen in der Variable opts angeben muss, damit sie später korrekt interpretiert werden. Geht das überhaupt so, wie ich mir das vorstelle und falls ja, wie?

Im Voraus vielen Dank!

Viele Grüße
Stefan

Benutzeravatar
Phineas
Beiträge: 348
Registriert: 20.06.2012 20:26:19

Re: Quotierung im Shell-Skript

Beitrag von Phineas » 11.08.2014 18:18:12

Mal ein Array getestet (Bash)?

Code: Alles auswählen

opts=(--archive --verbose "--rsh=ssh -p 12345")
src="user@host:/mysourcedir"
dest="/mydestdir"
rsync "${opts[@]}" $src $dest

Antworten