Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
xterm mit mehreren Kommandos aufrufen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
rossi
Gast





BeitragVerfasst am: 19. Aug 2002 1:54   Titel: xterm mit mehreren Kommandos aufrufen

Hallo, ich versuche gerade eine "Messagebox" unter X zu realisieren. Dazu möchte ich ein xterm aufmachen, indem eine Meldung präsentiert wird und auf einen Tastendruck gewartet wird. Das ganze aus einem Skript heraus.
Das Problem ist, das ich ja zwei Befehle brauche (ein extra Skript mit den zwei Befehlen kommt nicht in Frage). Nur haut das alles nicht hin

xterm -e { echo "Hallo Welt"; read NOTHING; } gibt einen Fehler:
bash: syntax error near unexpected token `}'

Ohne die "{}" bekommw ich die Meldung, aber das "read" wird logischer Weise wieder in der aufrufenden Shell ausgeführt und nicht im aufgerufenen xterm.

xterm -e "echo 'Hallo Welt'; read NOTHING"
erzeugt einen Fehler im aufgerufenen xterm:
xterm: Can't execvp echo 'Hallo Welt'; read NOTHING: No such file or directory
Leuchtet auch ein. Irgendwo.

Wo ist denn nun der Haken ? Wäre auch mit Shell kompatiblen Alternativen zufrieden. Nur halt kein gtk/qt/fltk/xfroms/xaw,etc.pp
xlib würde vermultich den Rahmen sprengen, wenn überhaupt per sh ansprechbar.
 

klaus Schäfer
Gast





BeitragVerfasst am: 19. Aug 2002 5:44   Titel: Re: xterm mit mehreren Kommandos aufrufen

Hallo,
schau dir mal xdialog an (www.freshmeat.net oder so) ist genial für einfache grafische
Oberflächen. Ich verwende das Teil zusammen mit REXX (komme halt aus der Mainfraime-Welt),
sollte aber auch mit bash und co funktionieren.

Gruß Klaus
 

spark



Anmeldungsdatum: 08.07.2000
Beiträge: 272
Wohnort: Solingen, NRW

BeitragVerfasst am: 19. Aug 2002 6:33   Titel: Re: xterm mit mehreren Kommandos aufrufen

gna, lesen sollte ich koennen *loesch* Wink

Zuletzt bearbeitet von spark am 19. Aug 2002 6:33, insgesamt 2-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

spark



Anmeldungsdatum: 08.07.2000
Beiträge: 272
Wohnort: Solingen, NRW

BeitragVerfasst am: 19. Aug 2002 6:41   Titel: Re: xterm mit mehreren Kommandos aufrufen

Was spricht denn gegen ein kleines Extrascript? Vielleicht laesst sich _das_ Problem dann ja leichter loesen?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Jochen
Gast





BeitragVerfasst am: 19. Aug 2002 7:41   Titel: Re: xterm mit mehreren Kommandos aufrufen

Ich denke nicht, dass xterm da mitspielt. Das Problem liegt darin, dass xterm keine Shell ist. Es ruft lediglich per Default eine Shell auf; xterm stellt die Infrastruktur zur Verfügung, dass die Shell problemfrei mit X interagieren kann (Fenster usw.). Wenn Du nun xterm mittels -e "cmd" etwas zum Ausführen mitgibst, wird eben keine Shell gestartet. Die brauchst Du aber, damit das Semikolon die Kommandos trennt oder die die geschweiften Klammern die Kommandos gruppieren. Das ist alles Shellfunktionalität. In Deinem Beispiel versuchst Du eben ein Kommando auszuführen, das "echo 'Hallo Welt'; read NOTHING" heisst - und das gibt es nun mal nicht.

Sorry, unter Deinen Vorgaben habe ich so rein gar keine Alternative... Aber wenigstens weisst Du jetzt, dass es sich nicht lohnt, in diesen Weg noch weiter Arbeit reinzustecken.

Jochen
 

rossi
Gast





BeitragVerfasst am: 19. Aug 2002 23:18   Titel: Re: xterm mit mehreren Kommandos aufrufen

Kann man der Shell nicht Commandos übergeben ? So in der Art xterm -e /bin/sh "Kommandos" ? Wäre ncurses eine Lösung ? Jemand ne Einführung parat (noch nicht gegoogelt).

@spark: Es soll ein simples Skript werden, das cds einbindet oder aushängt und Statusmeldungen entweder auf der Konsole oder X (jenachdem, von wo aufgerufen) schreibt. Konsole ist ja auch recht einfach ...
Aber für jede Meldung eine extra Datei, das wären momentan drei an der Zahl für so eine eher kleine Aufgabe. Uneleganter geht es nicht, da weigert sich was in mir.
Es muß doch möglich sein, mit Standardwerkzeugen (deshalb auch kein xdialog) eine Dialogbox in X hinzubekommen ?!

As usual, trotzdem Danke für eure Anteilnahme Smile
 

Jochen
Gast





BeitragVerfasst am: 20. Aug 2002 7:33   Titel: Re: xterm mit mehreren Kommandos aufrufen

Im Prinzip schon:
bash -c "echo hallo ; read junk"
Von einer Shell aus aufgerufen tut's das auch problemfrei. Aber sobald Du das ganze mit xterm koppeln willst, also
xterm -e 'bash -c "echo hallo ; read junk"'
tritt wieder das Problem auf, dass xterm das gesamte Optionsargument zu -e als den Namen eines Kommandos betrachtet. Die Whitespaces werden also nicht als Trennzeichen beachtet; xterm ist eben keine Shell.

Sorry,

Jochen
 

spark



Anmeldungsdatum: 08.07.2000
Beiträge: 272
Wohnort: Solingen, NRW

BeitragVerfasst am: 20. Aug 2002 12:07   Titel: Re: xterm mit mehreren Kommandos aufrufen

Hallo rossi, dann haette ich meine Loesung ja doch nicht loschen muessen. *grmpf* Wink
Mach doch ein Script mit Uebergabeparameter:

code:

[~] cat /usr/local/bin/msgbox
#!/bin/sh

echo "$1"
read NOTHING



Das rufst du dann so auf:
code:

[~] cat /usr/local/bin/msgbox
#!/bin/sh

echo "$1"
read NOTHING



Funktioniert bei mir tadellos.


- Spark


Zuletzt bearbeitet von spark am 20. Aug 2002 12:07, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

spark



Anmeldungsdatum: 08.07.2000
Beiträge: 272
Wohnort: Solingen, NRW

BeitragVerfasst am: 20. Aug 2002 12:09   Titel: Re: xterm mit mehreren Kommandos aufrufen

?
Das Forum hat wohl einen Bug... Egal was ich versuche, im zweiten Codeblock steht immer das was auch im ersten schon steht. =) Das zweite soll natuerlich heissen:
code:

[~] xterm -e msgbox "Hallo Welt"



Mal testen:
code:

[~] xterm -e msgbox "Hallo Welt"

 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Jochen
Gast





BeitragVerfasst am: 20. Aug 2002 13:41   Titel: Re: xterm mit mehreren Kommandos aufrufen

@Spark: Ja, der Bug ist alt und bekannt.

Nun ja, ein nicht allzu schöner Work-Around - aber es ist wenigstens einer. Ich hatte gar nicht überrissen, dass weitere Argumente dem -e-Kommando zugeschlagen werden. Manual pages müsste man lesen können... Also ist es jetzt ganz einfach:
code:
xterm -e /bin/bash -c '{echo Hallo ; read JUNK ; }'
Funktioniert genau so bei mir.

Jochen
 

spark



Anmeldungsdatum: 08.07.2000
Beiträge: 272
Wohnort: Solingen, NRW

BeitragVerfasst am: 20. Aug 2002 17:43   Titel: Re: xterm mit mehreren Kommandos aufrufen

Merkwuerdig, deine Loesung funktioniert bei mir nicht. Das xterm oeffnet sich und schliesst sich dann gleich wieder.
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy