Wine 経由で Windows 実行ファイルを実行しようとしています。最初に実行しようとしたときには実行されませんでしたが、もう一度実行しようとするとプログラムが実行されます。
プログラムを実行するスクリプトを作成したいと思います。スクリプトの重要な部分は次のとおりです。
EXECUTABLE=$(env XMODIFIERS="" wine hl.exe .nomaster -strechaspect)
$EXECUTABLE
echo "Exit Status = $?"
これにより、「終了ステータス 0」というメッセージは表示されなくなります。これは、wine は正常に終了するが、「hl.exe」は最初の試行では開始されず、最初に述べたように 2 回目の試行でのみ開始されるため、エラーで終了するためです。
最初は次のようなことが考えられました:
e=$?
if [ $e -ne 0 ]
then
echo
echo "Exit with Error"
echo
fi
しかし、「終了ステータス = 0」というメッセージは表示されません。
誰かこれを解決する方法を教えてくれませんか?
答え1
わかりました。回避策で解決しました。Wine Windows 実行可能ファイルの終了ステータス コードを取得できないためです。
OK、次のことを書きます
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
準備ができたら、ゲーム開始です。