Ich versuche, ein Bash-Skript von Ant-Exec-Task auszuführen.Kann Bash-Skript mit Ant-Exec-Task nicht ausführen
<target name="test" unless="${is.windows}">
<chmod file="./abc.sh" perm="a+x"/>
<exec dir="./" spawn="false" executable="bash" newenvironment="false">
<arg line="abc.sh ${some-argument}" />
</exec>
</target>
Das Bash-Skript hat shebang #!/Bin/bash.
Wenn ich das Ziel ausführen, gibt es mir folgende Ausgabe auf unseren Jenkins-Maschinen, wo Produktionscode erstellt wird. Es funktioniert gut auf meinen lokalen CentOS Maschinen. Die meisten Zeilen sind leer. In Zeile 19 hat es {(geschweifte Klammer zu öffnen) -
[exec] abc.sh: line 2:
[exec] : command not foundabc.sh: line 7:
[exec] : command not foundabc.sh: line 8:
[exec] : command not foundabc.sh: line 12:
[exec] : command not foundabc.sh: line 14:
[exec] : command not foundabc.sh: line 17:
[exec] : command not foundabc.sh: line 19: syntax error near unexpected token `{
[exec] 'abc.sh: line 19: `{
[exec] '
[exec] Result: 2
Ant scheint Ihnen zu sagen, dass Ihr Shell-Skript Syntaxfehler enthält. Möglicherweise mehrere. Wir können Sie nicht darüber beraten, was mit Ihrem Skript falsch ist, ohne es zu sehen. –
Beachten Sie auch, dass Sie, wenn Sie 'bash' explizit ausführen, um Ihr Skript auszuführen, keine shebang-Zeile benötigen und den Dateimodus nicht benötigen, um (direkte) Ausführung zu erlauben. –
Das Bash-Skript scheint zumindest keine Syntaxfehler zu haben. Vergessen Sie nicht, dass das Skript auf einer der CentOS-Maschinen läuft. Über den Shebang, will nur bestätigen, dass es nicht wehtut wenn es vorhanden ist, richtig, auch wenn ich Bash explizit ausführen werde? – User3518958