linux - 使用shell脚本一个接一个地卸载软件

标签 linux bash shell

我想在完成第一个卸载程序后卸载两个软件。意思是说,在我们完成第一个卸载程序之前,我不想启动第二个卸载程序。

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

这就是我现在所遵循的。

卸载.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。在 uninstaller1 完成之前,uninstaller2 UI 将启动。这是我不想要的。

想要在 uninstall1 完成时启动 uninstall2。

更新:goggling 后知道我们可以通过使用wait 命令来实现。但是,仍然在为同样的问题而苦苦挣扎。

提前致谢。

最佳答案

无论如何,我只是发布我的待定建议:

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.

关于linux - 使用shell脚本一个接一个地卸载软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057493/

相关文章:

linux - linux 和 nginx 更新后 php 不工作

bash - 通过引用传递参数

html - 通过 bash 从 html 中提取信息

bash - 从特定行号拖尾日志文件

linux - 从命令输出循环和复制所有文件的脚本

windows - 是否可以使用 start 从 cmd 文件使用输出重定向?

linux - 删除 bash 脚本中除最新 3 个以外的所有文件

linux - 尝试启动 mongodb 时出错

c++ - 食人魔 3d : RenderTexture bigger than RenderWindow

shell - $ 和 ${} 之间的 ksh 差异