Answers:
您可以执行以下操作:
wait将等待所有程序从当前shell在后台运行-即此wget。
等待完成后-关机将继续。
我的解决方案是:用Control + Z挂起您长期运行的任务,然后键入类似以下内容:
fg; echo "Done!"
如果要根据命令的成功或失败来不同地运行响应,请使用&&和||。作为短路操作员。
fg && echo "Success!" || echo "Failure!"
编辑:这不适用于sudo,因为它将要求您输入密码。因此,我已经删除了使用sudo的示例。如果第二个任务需要sudo,请使用此处发布的其他方法。
另一方面,我相信GNOME和KDE都可以通过发送适当的D-Bus信号或其他东西来提供无需使用sudo即可触发关机/重启的方法。
fg
...,但是sudo
如果提示您输入密码,可能会出现问题
是的,只需键入第二个命令,然后按Enter。如果您当前的程序正在滚动文本,您将看不到您正在正确键入的内容,因此请注意按键,以确保正确执行操作。
一种更聪明的方法是切换到另一个TTY(CTRL + ALT + F1至F6)并同时运行命令,或者,如果您使用的是诸如screen之类的命令行程序,则可以在其中创建一个新窗口。
如果您想了解一下,请检查wget的返回状态,只有在成功后才关闭。
% wget http://example.com/file.rar
% if [ $? -eq 0 ]
> then
> shutdown now
> fi
wget
运行时,不会提示您构建测试。