Openvas 'Fehler beim Lesen der Antwort' im Bash-Skript

438
h.lina

Ich bin ein Anfänger mit Bash-Skript. Ich habe ein OpenVAS-Bash-Skript, das versucht, ein Ziel zu erstellen, die Ziel-ID abzurufen, eine Aufgabe zu erstellen und die Aufgaben-ID abzurufen.

#!/bin/bash Target_return=$(omp --username demo -w demo --xml='<create_target><name>Script1</name><hosts>192.168.1.3</hosts></create_target>') echo "$Target_return | grep -m 'resource create' || exit 1"  #Getting the target ID id=$(omp --username demo -w demo -T | grep'Script1' >target) targetid=$(head -c 36 target) echo "$ID = $targetid"  #creating task create_task=$(omp --username demo -w demo -X='<create_task><name>Script1task</name><comment>script 1 for task</comment><config id="708f25c4-7489-11df-8094-002264764cea"/><target id=$targetid/></create_task>') see_task=$(omp --username demo -w demo -G | grep 'Script1task' > scan) taskid=$(head -c 36 scan) 

Ich bekomme die Ziel-ID zurück, aber wenn die Aufgabe erstellt wird und die ID zurückkommt, erhalte ich eine Antwort mit der Meldung "Antwort konnte nicht gelesen werden". Wie löse ich das Problem / oder gehe ich darüber vor? Ist mein Scripting korrekt?

0
Versuchen Sie in der Zeile, in der `create_task = ...` gesetzt ist, einfache Anführungszeichen für die Option -X zu verwenden, doppelte Anführungszeichen, um `$ targetid` für die Shell verfügbar zu machen. Eine andere Sache, könnte nur eine falsche Eingabe sein, ein Leerzeichen fehlt in id = $ (... | grep'Script1 '...) `zwischen grep und der Zeichenfolge. Paulo vor 6 Jahren 0
Beginnen Sie wie immer mit der Validierung Ihres Skripts unter https://www.shellcheck.net/ DavidPostill vor 6 Jahren 0

0 Antworten auf die Frage