2016-06-30 21 views
0

Ich habe das folgende Szenario in einer .sh DateiBash Eval ungültiger Befehl

hello="java -cp \"/home/user/libs/*\" org.user.class parameter" 
echo "$hello" 
eval $($hello) 

Wenn ich versuche, die .sh Datei mir die folgende Ausnahme Fehlermeldung ausgeführt werden: Es kann keine Hauptklasse finden oder laden, aber wenn Ich führe aus, was gedruckt wird, die Anwendung startet.

Gibt es eine Fluchtmöglichkeit, um dieses Problem zu vermeiden?

Antwort

0

Es scheint, dass Klammern für Eval-Ausdruck entfernt werden müssen.

Die korrekte Syntax lautet:

hello="java -cp \"/home/user/libs/*\" org.user.class parameter" 
echo "$hello" 
eval $hello