我的当前脚本如下:
cd ~/.wine/drive_c/
echo "test123" > foo$$.txt
wine start "C:\foo$$.txt"
wineserver -w
echo "Wine is done!"
当只有一个程序在Wine中运行时,它可以正常工作。然而,如果我在第一个程序完成之前第二次运行它,那么两个脚本都会等待对方的程序退出。
这种方法是不可行的:
cd ~/.wine/drive_c/
echo "test123" > foo$$.txt
$(wine start "C:\foo$$.txt") &
wait ${!}
echo "Wine is done!"
如果你关闭文本编辑器,脚本将在其之前退出。
我需要使用start
命令,因为我希望文件可以使用默认的编辑器或查看器运行。
| cat
部分不起作用。当wine
命令退出时,cat
就会结束。然而,**wine
本身会等待程序退出**。wine start
(OP 正在使用的)不会等待。因此,解决方案就是使用wine
而不是wine start
。 - Merlijn Sebrechts|cat
部分)会改变缓冲和isatty()
的结果,因此可能会影响Wine。在撰写本文时,需要使用管道来使Wine表现符合预期。但是,Wine可能已经发生了变化,不再需要使用管道。 - coldfix