Shell setzt in makefile
Kippe diese zu arbeiten , versuchte alles, was für die bedingte [] bash-Klammern, Anführungszeichen etc
If -$$? != "0" nie Spiele, aber die $$? ist nicht null in der Zeit. Irgendwelche Ideen ?
test: testdrivers
-@rc=0; \
for file in $(TSTFILES); do \
./$$file; \
if $$? != "0" ; then \
echo test fail;\
rc=`expr $$rc + 1` ;\
fi \
done; \
echo; echo "Tests failed: $$rc"
InformationsquelleAutor user1496062 | 2013-11-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den richtigen syntax für einen numerischen Vergleich in shell-scripting ist:
Werden sicher Sie haben die Räume VOR dem und NACH der eckigen Klammern. Sie können sich nicht im gleichen Wort, wie die Argumente.
Auch Ihnen fehlt ein Semikolon nach der
fi
:];
, wie Sie verwendet werden, ist das völlig in Ordnung. Allerdings gebe ich zu, dass ist sicherlich weniger kernig.Heh. Guter Punkt. Ich bin alles über die Mark!
Wäre nicht schlecht, zu sagen, dass
[
ist eigentlich das gleiche externe Programmtest
(obwohl es wahrscheinlich builtin in großen Schalen). Alsoman test
.Dies tut erscheinen zu sein Arbeit in das makefile .
Dann gibt es noch etwas anderes falsch. Die syntax, die ich basierend auf deinem Beispiel, wird auf jeden Fall funktionieren. Was bedeutet "scheint nicht zu funktionieren"? Welchen Befehl tun Sie geben? Welche Fehler siehst du? Bitte Ausschneiden und einfügen direkt, anstatt Abtippen, Abtippen stellt oft subtilen Veränderungen, die machen das problem unlösbar von uns. Bearbeiten Sie Ihre Frage und Ausschneiden und fügen Sie Ihre makefile-Regel wie Sie derzeit haben.
InformationsquelleAutor MadScientist
Verwenden nachstehend eine als Beispiel:
Ausgabe:
InformationsquelleAutor Manbir Singh Yadav