shell Ausgabe in Variable

OP #1732768
Lesenswert?
• ▲
▼
Hallo Forum,

ich arbeite unter Windows mit Eclipse und einem eigenen makefile (ich 
verwende GNU make 3.81)

Nun würde ich gerne einen DOS Befehl ausführen und die Ausgabe die 
normal auf dem Bildschirm erfolgt in eine Variable umleiten.

Meinem Verständis nach sollte das doch wie folgt funktionieren:

DUMMY := $(shell cd)

ich bekomme dann aber die folgende Fehlermeldung und kann mir nicht mehr 
erklären was ich falsch mache

******

DUMMY := C:\Projekte\ProgTest
process_begin: CreateProcess(NULL, DUMMY := C:\Projekte\ProgTest, ...) 
failed.
make (e=2): Das System kann die angegebene Datei nicht finden.

make: *** [all] Error 2

******

Hat mir jemand einen Tip? Vielen Dank

Steffen
Gast #1732788
Lesenswert?
• ▲
▼
Steffen Walter schrieb:
> DUMMY := $(shell cd)

> DUMMY := C:\Projekte\ProgTest

Ich interpretiere das so, dass "shell" auf deiner Plattform dein 
bevorzugtes CLI aufruft (cmd.exe?). "shell cd" liefert offenbar das 
aktuelle Verzeichnis zurück, scheint also zu klappen.

> make (e=2): Das System kann die angegebene Datei nicht finden.

Wo/wie verwendest du DUMMY?


Gruesse
OP #1732795
Lesenswert?
• ▲
▼
ja genau so interpretiere ich das auch, ja genau sollte die cmd.exe 
sein, und cd liefert das aktuelle Verzeichnis zurück. Ich habe hier als 
Beispiel "cd" verwendet, Befehl sollte ja egal sein.

Ziel ist dass der Pfad (den er ja auch ausgibt) nachher in der Variablen 
"DUMMY" steht.

Ich verwenden DUMMY momentan sonst noch nirgends. Für mich wirkt das 
immer so als ob er nun versucht einen Befehl "DUMMY" auszuführen, 
anstelle diese als Variabel zu betrachten
OP #1732802
Lesenswert?
• ▲
▼
danke für den Link, aber auch nach der Beschreibung

contents := $(shell cat foo)

sets contents to the contents of the file `foo', with a space (rather 
than a newline) separating each line.


müsste doch nach dem ausführen von meinem makefile in DUMMY ein Wert 
stehen oder verstehe ich das auch falsch?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.