Я пытаюсь запустить исполняемый файл Windows через Wine. При первой попытке он не запускается, но при повторной попытке программа запускается.
Я хотел бы создать скрипт для запуска программы, вот важная часть скрипта:
EXECUTABLE=$(env XMODIFIERS="" wine hl.exe .nomaster -strechaspect)
$EXECUTABLE
echo "Exit Status = $?"
При этом он никогда не выдает мне сообщение «Exit Status 0», потому что Wine завершает работу успешно, но «hl.exe» завершается с ошибкой, потому что он не запустился с первой попытки, а только со второй, как я и сказал в начале.
Сначала я подумал, что подойдет что-то вроде этого:
e=$?
if [ $e -ne 0 ]
then
echo
echo "Exit with Error"
echo
fi
но он никогда не показывает мне сообщение «Статус выхода = 0».
Может ли кто-нибудь помочь мне решить эту проблему?
решение1
Хорошо, я решил эту проблему с помощью обходного пути, поскольку получить код состояния завершения исполняемого файла Wine Windows невозможно.
Хорошо, я добавлю следующее
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
и готово, игра началась.