Ich versuche, eine ausführbare Windows-Datei über Wine auszuführen. Beim ersten Versuch wird es nicht ausgeführt, aber beim nächsten Versuch wird das Programm ausgeführt.
Ich möchte ein Skript zum Ausführen des Programms erstellen. Hier ist der wichtige Teil des Skripts:
EXECUTABLE=$(env XMODIFIERS="" wine hl.exe .nomaster -strechaspect)
$EXECUTABLE
echo "Exit Status = $?"
Dabei erhalte ich nie die Meldung „Exit Status 0“, da Wine zwar erfolgreich beendet wird, „hl.exe“ jedoch mit einem Fehler beendet wird, da es nicht beim ersten Versuch gestartet wurde, sondern erst beim zweiten Versuch, wie ich am Anfang sagte.
Ich dachte zuerst, dass es so etwas tun könnte:
e=$?
if [ $e -ne 0 ]
then
echo
echo "Exit with Error"
echo
fi
aber es wird mir nie die Meldung „Exit Status = 0“ angezeigt.
Kann mir jemand helfen, das Problem zu lösen?
Antwort1
Ok, ich habe das Problem mit einem Workaround gelöst, weil es nicht möglich ist, den Exit-Statuscode der ausführbaren Datei von Wine Windows abzurufen.
Ok, ich habe das Folgende eingefügt
EXECUTABLE=$(env XMODIFIERS="" wine hl.exe .nomaster -strechaspect)
$EXECUTABLE
HL1EXE=$(ps -A | grep hl.exe | awk '{print $4}')
if [ -z "$HL1EXE"]; then
echo
echo "Try to Launch again wait"
echo
sleep 3
EXECUTABLE=$(env XMODIFIERS="" wine hl.exe .nomaster -strechaspect)
$EXECUTABLE
HL1EXE=$(ps -A | grep hl.exe | awk '{print $4}')
echo "Executable File : $HL1EXE"
fi
und fertig, das Spiel kann beginnen.