如何获取通过 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

准备就绪,游戏开始。

相关内容