Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Ghost
- Beiträge: 264
- Registriert: 24.03.2003 00:17:01
- Wohnort: Bremen
Beitrag
von Ghost » 07.06.2006 17:18:42
Hallo zusammen,
ich habe folgenden Shellcode:
ergibt: 2
Der soll mir die PTS-Nummer der aktuellen Shell geben. Das klappt auch auf der Shell wunderboar, aber sobald ich es in einem Makefile benutzen wil, gibt mir das Programm nur die Ausgabe von
tty zurueck. Weiss jemand voran das liegt?
ergibt /dev/pts/2
Hat jemand eine Ahnung wie ich das umschiffen kann? Das Makemanual war da irgendwie nicht sehr hilfreich.
Gruss
Ghost
1x "Debian Unstable"
1x "Debian Testing"
-
Ghost
- Beiträge: 264
- Registriert: 24.03.2003 00:17:01
- Wohnort: Bremen
Beitrag
von Ghost » 08.06.2006 13:59:36
Danke. Das klappt wunderbar. Ich war gestern auch schon auf diese Funktion gestossen, aber irgendwie habe ich gestern wohl etwas anderes gemacht, denn ich hatte das gleiche Ergebnis wie mit den Backquotes und da im Manual steht:
The shell function performs the same function that backquotes (``') perform in most shells
habe ich es bei den Backquotes belassen.
danke.
Gruss
Ghost
1x "Debian Unstable"
1x "Debian Testing"
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 08.06.2006 17:00:20
Ghost hat geschrieben:aber irgendwie habe ich gestern wohl etwas anderes gemacht, denn ich hatte das gleiche Ergebnis wie mit den Backquotes
die entscheidende Änderung war nicht die Shellfunktion, sondern das zusätzlche Dollarzeichen vor dem "$4"
Ohne diesem wird "$4" als (leere) Makefilevariable interpretiert. Daher wird an die Shell folgendes übergeben.
daher bekommst du auch "/dev/pts/2" zurück.
"$$4" wird nicht als Makefilevariable interpretiert, dafür wird ein Dollarzeichen entfernt und die so erhaltene Zeichenkette an die Shell übergeben:
Gruß
gms
-
Ghost
- Beiträge: 264
- Registriert: 24.03.2003 00:17:01
- Wohnort: Bremen
Beitrag
von Ghost » 11.06.2006 11:10:57
Autsch ok. Jetzt sehe ich es auch. Ok. Danke für die Aufklärung. Da war ich wohl nicht mehr so ganz ausgeschlafen.
Gruss
Ghost
1x "Debian Unstable"
1x "Debian Testing"
-
Joghurt
- Beiträge: 5244
- Registriert: 30.01.2003 15:27:31
- Wohnort: Hamburg
-
Kontaktdaten:
Beitrag
von Joghurt » 11.06.2006 11:16:42
JFYI, den awk-Teil kannst du auch durch
ersetzen.
-
Ghost
- Beiträge: 264
- Registriert: 24.03.2003 00:17:01
- Wohnort: Bremen
Beitrag
von Ghost » 13.06.2006 10:19:48
Nettes Tool. Kannte ich noch gar nicht. Danke.
Gruss
Ghost
1x "Debian Unstable"
1x "Debian Testing"
-
meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
Beitrag
von meandtheshell » 13.06.2006 12:42:25
/offtopic
@all
Das ist ein phantastischer Thread wie ich ihn mir immer wünschen würde
- sprechender Thread Titel
- klar verständliche Fragestellung
- klar verständliche Antwort
- Gliederung wie auch Textformatierung 1A
- kurze prägnante Aussagen die zum Ziel führen
- Response wie es zu Problemen kam und somit nachvollziehbares (für den Leser) lösen von Problemen
- Rechtschreibung und Grammatik in Ordnung
- Aufzeigen von alternativen Lösungswegen die evtl. Vorteilhafter sind
markus