如何取得透過 wine 運行的進程的退出代碼

如何取得透過 wine 運行的進程的退出代碼

我正在嘗試透過 wine 運行 Windows 可執行檔。當我第一次嘗試運行時,它永遠不會運行,但是當我嘗試再次運行時,程式會運行。

我想製作一個腳本來運行該程序,這是腳本的重要部分:

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

但它從未向我顯示訊息“Exit Status = 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

準備就緒,遊戲開始。

相關內容