2014-06-05 27 views
0

我想根据第一个卸载程序的完成情况卸载两个软件。也就是说,我不想开始第二个卸载程序,直到我们完成第一个卸载程序。使用shell脚本一个接着一个地卸载软件

任何人都可以请建议我如何实现这种情况。

这就是我现在所遵循的。

uninstall.sh:

if [ $exitval -eq 0 ] then 
    ./uninstall1.sh 
else 
    echo uninstall1.sh else loop 
fi 

result=$? 

if [ $result -eq 0 ] 
    ./uninstall2.sh 
else 
    echo uninstall2.sh else loop 
fi 

这里的问题是,uninstaller1将推出一个UI。在卸载程序1完成之前,卸载程序2 UI将启动。这是我不想要的。

想要在uninstall1完成时启动uninstall2。

更新:goggling才知道,我们可以通过做到这一点后等待命令。但是,仍然在同一个问题上挣扎。

在此先感谢。

+1

这些脚本可能运行在后台的一些过程。你能展示他们的一些内容吗? – konsolebox

+0

它没有显示任何文本信息,这里只有两个卸载UI将会同时启动。这里我们不等待卸载1完成。 – Honey

+1

刚才看到你的编辑。我在询问内容的原因是要知道如何启动这些并行的东西来获得关键程序的PID,你必须知道它。 – konsolebox

回答

1

无论如何,我只希望我的后悬而未决的建议:

SomeLauncher1.sh 

PID=$! ## Not really the way to do it but this is one way how. 

while kill -s 0 "$PID"; do ## If true, process is still running. 
    sleep 1s ## Keep waiting. 
done 

SomeLauncher2.sh 

... ## Perhaps do the same thing again. 
相关问题