masteq
Goto Top

Start -wait Befehl Ubuntu Skript

Hallo zusammen,

in einer Windows Umgebung hat man doch die Möglichkeit per Batchdatei ein Programm zu starten und mit dem Parameter start /wait auf das Programmende zu warten, bevor das Skript weiter ausgeführt wird.

Gibt es diese Option unter Ubuntu auch? Mir ist bis jetzt nur der "sleep" Befehl bekannt. Dieser ist für meine Vorhaben aber leider nicht akzeptabel.

Als Beispiel:

#!/bin/sh
xclock (Jetzt soll gewartet werden, bis xclock wieder beendet wurde....danach geht es erst in die nächste Zeile!)
mc


Hat jemand einen Tipp?

Danke im voraus!

Grüße

MASTEQ

Content-Key: 147129

Url: https://administrator.de/contentid/147129

Printed on: April 23, 2024 at 21:04 o'clock

Member: Friemler
Friemler Jul 18, 2010 at 18:13:42 (UTC)
Goto Top
Hallo MASTEQ,

bin nicht fit in Linux Shellskript. Du könntest aber das Äquivalent zu folgendem Windows Batch-Code verwenden:

xclock

:wait_loop
  tasklist | find "xclock" > NUL  
if "%errorlevel%"=="0" goto wait_loop  

tasklist = ps
find = grep

Für den Rückgabewert des letzten Programms (errorlevel oder %errorlevel%) gibt es in Linux bestimmt auch was vergleichbares. Ausgabeumleitung zum NUL-Device ist sogar gleich, glaube ich.

[Edit]
Übrigens: Willst Du ein X-Server basiertes Programm oder eins für die Kommandozeile starten?

Gruß
Friemler
Mitglied: 39916
39916 Jul 18, 2010 at 19:36:40 (UTC)
Goto Top
Hallo MASTEQ,

unter der bash gibt's die Möglichkeit mit '&&' Befehl b von Befehl a abhängig zu machen. Also:
Befehl a && Befehl b bedeutet, dass Befehl b erst nach erfolgreichem Abschluss von a ausgeführt wird, ansonsten nicht.
Hilft Dir das weiter?

Gruß,
Martin
Member: miniversum
miniversum Jul 18, 2010 at 19:57:45 (UTC)
Goto Top
Im Windows Batch kannst du das Start /wait ja auch einfach weglassen da ja sowieso immer gewartet wird mit der aktuelle befehl fertig ist bevor es mit dem nächsten weiter geht, z.B.:

echo vorher
notepad.exe
echo nachher
pause

Da ssit auch so auf linux übertragbar.
Member: Friemler
Friemler Jul 18, 2010 at 20:10:50 (UTC)
Goto Top
Hallo miniversum,

wenn es sich (in Windows) um GUI-Programme handelt hast Du recht. Bei Konsolenprogrammen wird nicht gewartet, wenn man sie mit

start "Fenstertitel" Programm

startet. Sonst bräuchte ja kein Mensch den /wait Parameter.

Gruß
Friemler
Member: miniversum
miniversum Jul 18, 2010 at 20:24:47 (UTC)
Goto Top
ich sprach auch nicht von:
echo vorher
start "bla" cmd.exe
echo nachher
pause

sondern von
echo vorher
cmd.exe
echo nachher
pause
Member: MASTEQ
MASTEQ Jul 18, 2010 at 21:17:08 (UTC)
Goto Top
Danke zusammen......der && Parameter ist genau das was ich gesucht habe....danke bubbafish....


Lg

MASTEQ