script

Post Reply
Message
Author
chris

script

#1 Post by chris »

hi,
ich möchte ein bashscript erstellen, welches nacheinander 2 programme startet!
1. einen komandozeilenclient für edonkey
2. ein grafisches frontend dafür

mein script sieht folgendermasen aus, funzt aber leider net:

#!/bin/sh
cd /stoff/mldonkey-1.00 ; ./mldonkey_gui ; cd /stoff/mldonkey-1.00 ; ./mldonkey

in diesem fall wird immer nur die datei mldonkey_gui gestrartet, wenn ich die beiden dateien untereinander tausche wird mldonkey gestartet, also immer nur die erste.

dann hab ichs noch so probiert, ergebnis genau das gleiche

#!/bin/sh
cd /stoff/mldonkey-1.00
if ./mldonkey_gui
then ./mldonkey
fi

kenne mich mit bashprogramierung net so aus, hat jemand vielleicht ne ahnung was ich falsch mache?
danke - chris

alias_maya

Re: script

#2 Post by alias_maya »

Hi,

wie wär's mit

if [ -n "./mldonkey_gui" ] ; then
./mldonkey_gui
fi

Gruß,

Jochen

Re: script

#3 Post by Jochen »

"if" kann nicht weiterhelfen, da der then-Zweig erst erreicht wird, wenn das Kommando nach if beendet wurde und damit der Exit-Code worliegt, nach dem if zwischen then- und else-Zweig unterscheidet. Starte eines der Programme einfach in Hintergrund:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/sh
cd /stoff/mldonkey-1.00
./mldonkey &
./mldonkey_gui
</font><hr></pre></blockquote>
mldonkey wird in Hintergrund gestartet, direkt darauf wird mldonkey_gui gestartet. Hier hängt das Skript, bis die GUI beendet wird. Ggf. kannst Du noch ein "kill $!" nach den GUI-Aufruf einfügen, dann wird der im Hintergrund gestartete Prozess nach Ende der GUI explizit abgeschossen.

Jochen

chris

Re: script

#4 Post by chris »

danke, hat super funktioniert!

Post Reply