Como obtenho o código de saída de um processo que atravessa o vinho?

1

Estou tentando executar um executável do Windows via wine. Quando eu tento executá-lo, ele nunca roda, mas quando tento fazer isso novamente, o programa é executado.

Gostaria de criar um script para executar o programa. Veja a parte importante do script:

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

Com isso, nunca me dá a mensagem "Sair do Status 0", porque o vinho termina com sucesso, mas o "hl.exe" sai com um erro porque não foi iniciado na primeira tentativa, apenas a segunda tentativa Eu disse no começo.

Primeiro pensei que algo assim poderia acontecer:

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

mas nunca me mostra a mensagem "Sair do estado = 0".

Alguém pode me ajudar com como resolver isso?

    
por inukaze 16.10.2014 / 12:39

1 resposta

1

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

Ok, eu 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.

    
por 16.10.2014 / 19:01

Tags