Ich habe gerade diesen Fehler beim Versuch, meinen Code neu zu schreiben.grep & wget im Konflikt über Variable
Dieser Code funktioniert wie erwartet:
#XML downloading
wget -q http://192.168.50.154/details.xml -O details.xml
#load XML in Variable
rohxml=details.xml
#Read Data and save to Variable
health=$(grep '<Health' $rohxml | cut -f2 -d">"|cut -f1 -d"<")
Aber wenn ich versuche, es auf eine Variable direkt zu speichern (weil ich nicht eine neue Datei in dem neuen Server speichern kann) wirft mir die folgende Fehlermeldung:
grep: invalid option -- 'O' Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information.
Dies ist der "neue" Code:
#load XML in Variable
ABFRAGE="'wget -q -O- http://192.168.50.154/details.xml'"
rohxml=$ABFRAGE
#Read Data and save to Variable
health=$(grep '<Health' $rohxml | cut -f2 -d">"|cut -f1 -d"<")
Sie kennen Sie den wget Kommandozeile in einer Variablen sind zu speichern und dann die Ausführung auf die grep-Befehlszeile, anstatt die Ausgabe des Befehls in einer Variablen zu speichern, oder? Tu das nicht - dafür gibt es Funktionen. Wie beschrieben, stellen Sie sich selbst bösen Überraschungen aus, wenn Sie es aus bestimmten Verzeichnissen usw. ausführen, da Sie Ihren Befehl der Shell für Wildcard-Erweiterung, Globbing, Wortteilung usw. offen legen. –
Fügen Sie nicht "Gelöst" hinzu der Titel. Um anzuzeigen, dass Ihre Frage beantwortet wurde, akzeptieren Sie eine Antwort (in der Regel möchten Sie diese ebenfalls verbessern). Wenn keine der vorhandenen Antworten Ihr Problem gelöst hat, können Sie selbst eine Antwort posten und akzeptieren. –