Hallo Liste, ich habe eine kleine Frage wie ich etwas in einem Bash Script realisieren kann, leider sind meine Bash Kentnisse nicht ausreichend. Das ganze soll ungefaehr so aussehen: OUTPUT="blabla `egrep VARIABLE= /lib/datei.sh | cut -d "\"" -f 2`" echo "$OUTPUT" Die Probleme machen wohl die Anfuehrungszeichen um den Inhalt der Variable. Ich bekomme folgende Fehlermeldung: command substitution: line 1: unexpected EOF while looking for matching `"' command substitution: line 2: syntax error: unexpected end of file Wie kann man's anders machen und das selbe Ergebniss erziehlen? Ich denke mal ihr koennte mir helfen, also schonmal vielen Dank fuer eure Hilfe. Greets Marius -- SunGazer Packetfilter Project http://sg-packetfilter.sungazer.de
Marius Brehler wrote:
OUTPUT="blabla `egrep VARIABLE= /lib/datei.sh | cut -d "\"" -f 2`" echo "$OUTPUT"
Die Probleme machen wohl die Anfuehrungszeichen um den Inhalt der Variable.
So ähnlich. Die äußeren Anführungszeichen beißen sich mit denen beim cut-Argument. D.h., die Anführungszeichen um das cut-Argument und auch der dazu gehörige Backslash müssen davor geschützt werden, bereits im ersten Schritt interpretiert zu werden: OUTPUT="blabla `egrep VARIABLE= /lib/datei.sh | cut -d \"\\\"\" -f 2`" So bleibt nach dem Interpretieren der äußeren Anführungszeichen innendrin noch daß übrig, was Du oben schon stehen hattest. Etwas übersichtlicher wird's in diesem Fall, wenn man bei dem cut-Argument auf Hochkommata umsteigt: OUTPUT="blabla `egrep VARIABLE= /lib/datei.sh | cut -d '\"' -f 2`" Hier muß nur noch das Anführungszeichen geschützt werden, da der Rest keine Mißverständnisse ergeben kann. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/
participants (2)
-
Eilert Brinkmann
-
Marius Brehler