验证第一个命令后添加下一个命令行

验证第一个命令后添加下一个命令行

是否可以像这样输入下一个命令行:

command1 ; command2;

验证后command1

例如我这样做:

make 

而且它需要很长时间!我想说:执行此命令后:执行,./myprogram 这样我就可以去喝杯咖啡,而不必等到它完成后再启动下一个命令。

答案1

当然可以,只需在行尾添加一个&&或,具体取决于您希望在上一个命令成功或失败时执行的操作。因此,对于以下示例,我使用通常的升级方法,但它适用于几乎所有命令。||

#!/bin/bash
# an example upgrade script, call with sudo ./scriptname.sh
apt-get update &&
apt-get -y dist-upgrade &&
apt-get -y autoremove &&
apt-get clean

这将是一个仅在之前的命令连续执行时转发的脚本。请注意,最后一行没有&&,这是因为如果它在那里会抛出一个错误,因为没有下一个可以跳转到的命令。

现在举一个失败的例子,好吗?再举同样的例子,但我想让我的电脑告诉我我的行为是多么愚蠢(开玩笑):

#!/bin/bash
# an example upgrade script, call with sudo ./scriptname.sh
apt-get update &&
(apt-get -y dist-upgrade &&) || echo "THIS was not working right"
apt-get -y autoremove &&
apt-get clean

因此,如果命令失败,这将输出一些内容,要阅读有关 bash shell 脚本的更多内容,您可以访问我在此处包含的链接:

http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html

http://mywiki.wooledge.org/BashGuide

答案2

为此,您需要&&在连续的命令之间放置,以便它们逐个执行

相关内容