Como obtenho o código de saída de um processo que passa pelo wine

Como obtenho o código de saída de um processo que passa pelo wine

Estou tentando executar um executável do Windows via wine. Quando tento executá-lo pela primeira vez, ele nunca funciona, mas quando tento fazê-lo novamente, o programa é executado.

Gostaria de fazer um script para executar o programa, aqui está a parte importante do script:

EXECUTABLE=$(env XMODIFIERS="" wine hl.exe .nomaster -strechaspect)
$EXECUTABLE
echo "Exit Status = $?"

Com isso nunca me dá a mensagem "Status de saída 0", pois o wine termina com sucesso, mas o "hl.exe" sai com erro porque não iniciou na primeira tentativa, apenas na segunda tentativa como afirmei em o início.

Primeiro pensei que algo assim poderia servir:

e=$?
if [ $e -ne 0 ]
then
  echo
  echo "Exit with Error"
  echo
fi

mas nunca me mostra a mensagem "Status de saída = 0".

Alguém pode me ajudar com como resolver isso?

Responder1

Ok, resolvi com uma solução alternativa, porque não é possível obter o código de status de saída executável do Wine Windows.

Ok, coloquei o seguinte

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

e pronto, o jogo começa.

informação relacionada