3 Stimmen

For-Schleife funktioniert nicht im Makefile: "Ich war zu diesem Zeitpunkt unerwartet"

Ich habe ein sehr einfaches Makefile:

all:
    @for i in 1 2 3;\
    do \
        echo "i: $$i";\
    done

Doch wenn ich dies ausführe, erhalte ich die Fehlermeldung "i was unexpected at this time".

Haben Sie eine Idee, warum dies der Fall ist?

Ich arbeite mit Windows XP. Was ist das Windows-Äquivalent für das obige Skript?

4voto

Didier Trosset Punkte 34648

Wenn Sie unter Windows arbeiten (wahrscheinlich aufgrund von diese ), müssen die Befehle, die Sie schreiben, gültige Windows-Befehle sein. Ich meine Befehle, die Sie in der Windows-Shell ausführen können cmd.exe .

Hier sind die Befehle, die Sie auszuführen versuchen, gültige UNIX-Befehle für eine Bash-Shell. Sie sind nicht für die Windows-Shell geeignet.

0voto

codaddict Punkte 426877

Bei mir scheint es gut zu funktionieren:

\[01:30:10\]\[/tmp\]$ make
i: 1
i: 2
i: 3
\[01:30:26\]\[/tmp\]$ cat Makefile
all:
        @for i in 1 2 3;\\
        do \\
        echo "i: $$i";\\
        done

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X