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-ID: 147129

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

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

Friemler
Friemler 18.07.2010 um 20:13:42 Uhr
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
39916
39916 18.07.2010 um 21:36:40 Uhr
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
miniversum
miniversum 18.07.2010 um 21:57:45 Uhr
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.
Friemler
Friemler 18.07.2010 um 22:10:50 Uhr
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
miniversum
miniversum 18.07.2010 um 22:24:47 Uhr
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
MASTEQ
MASTEQ 18.07.2010 um 23:17:08 Uhr
Goto Top
Danke zusammen......der && Parameter ist genau das was ich gesucht habe....danke bubbafish....


Lg

MASTEQ