chroot und here-doc

Smalltalk
Antworten
inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

chroot und here-doc

Beitrag von inne » 19.05.2017 13:30:21

Hallo,

Code: Alles auswählen

chroot foo/ <<!
echo bar
!
Gibt es da was gegen zu sagen? Fallstricke die man kennen sollte? Denn viel findet Google dazu nicht.

PS: Ähnliches ist jetzt Teil meines Backup-Restoreskript. Bin da beim Warten, das es fertig kopiert drauf gekommen^^

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: chroot und here-doc

Beitrag von breakthewall » 21.05.2017 17:56:24

Nun der erste Fallstrick ist schon mal das Ausrufezeichen. Idealerweise nutzt man als LimitString kein Zeichen was ungünstig interpretiert werden kann, und wenn dann muss es escaped werden.

Code: Alles auswählen

command <<EOF
echo "foo"
echo "bar"
EOF

inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: chroot und here-doc

Beitrag von inne » 21.05.2017 23:10:05

Naja ich glaub eh, das ich hier aufm Holzweg war/bin. Denn:

Code: Alles auswählen

chroot foo/ bash
echo bar
Das sollte so eh das selbe sein?

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: chroot und here-doc

Beitrag von Meillo » 21.05.2017 23:45:03

breakthewall hat geschrieben:Nun der erste Fallstrick ist schon mal das Ausrufezeichen. Idealerweise nutzt man als LimitString kein Zeichen was ungünstig interpretiert werden kann, und wenn dann muss es escaped werden.
Ich denke nicht, dass man sich hierbei Sorgen machen muss. Ich verwende das Ausrufezeichen schon seit Jahren fuer alle meine Heredocs, ohne Probleme.

Mit Escapen zum Schutz des Delimiters ist hier uebrigens nichts los, weil das Escapen des Delimiters veraendert die Interpraetation des Here-Docs! Hier kann man das genau nachlesen: http://pubs.opengroup.org/onlinepubs/96 ... g_18_07_04

Du hast schon insofern Recht, dass man kein einzelnes Anfuehrungszeichen oder z.B. ein Kleinerzeichen als Delimiter nehmen kann, aber mit dem Ausrufezeichen hat man keine Probleme. Man kann natuerlich auch EOF verwenden ... aber um cool zu sein eignet sich das Ausrufezeichen besser. :-D



Leider habe ich nichts on-topic beizutragen.
Use ed once in a while!

Antworten