一次运行多个 Linux 命令 [3 种方法]
在一行中运行两个或多个命令可以为您节省大量时间,并帮助您在 Linux 中提高效率和生产力。
在一行中运行两个或多个命令可以为您节省大量时间,并帮助您在 Linux 中提高效率和生产力。
在 Linux 中,可以通过三种方式在一行中运行多个命令:
Operator | Example | Explanation |
---|---|---|
; | Command 1 ; Command 2 | Run command 1 first and then command 2 |
&& | Command 1 && Command 2 | Run command 2 only if command 1 ends sucessfully |
|| | Command 1 || Command 2 | Run command 2 only if command 1 fails |
让我详细向您展示如何在 Linux 中链接命令。
使用 ;在一行中运行多个 Linux 命令
其中最简单的是分号 (;)。您只需按以下方式使用 ;
组合多个要运行的命令:
cmd1; cmd2; cmd3
这里,cmd1
将首先运行。无论 cmd1
运行成功还是错误,cmd2
都会在其之后运行。当cmd2
命令完成时,cmd3
将运行。
让我们举一个你可以轻松练习的例子(如果你愿意的话)。
mkdir new_dir; cd new_dir; pwd
在上面的命令中,您使用 mkdir 命令创建一个名为 new_dir
的新目录。然后使用 cd 命令切换到这个新创建的目录。最后,使用 pwd 命令打印当前位置。
分号 (;) 后面的空格是可选的,但可以使命令链易于阅读。
使用 && 运行多个 Linux 命令
有时您希望确保在 Linux 命令链中,下一个命令仅在前一个命令成功结束时运行。这就是逻辑 AND 运算符 &&
发挥作用的地方:
cmd1 && cmd2 && cmd3
如果您使用基于 Ubuntu 或 Debian 的发行版,您一定遇到过这个使用 && 概念的命令:
sudo apt update && sudo apt upgrade
此处,第一个命令 (sudo apt update) 刷新包数据库缓存。如果没有错误,它将升级所有具有可用更新版本的软件包。
我们以前面的例子为例。如果new_dir
已经存在,mkdir命令将返回错误。 ;
和 &&
的行为差异可以在下面的屏幕截图中看到:
您是否看到当第一个命令导致错误时,由 &&
分隔的命令如何停止?
使用||一次运行多个 Linux 命令
您可以使用逻辑或运算符 (||) 运行命令链,但下一个命令仅在前一个命令以错误结束时运行。这与您在 && 中看到的相反。
cmd1 || cmd2 || cmd3
如果 cmd1 失败,则 cmd2 运行。如果 cmd2 成功运行,则 cmd3 将不会运行。
在上面的屏幕截图中,mkdir new_dir
命令失败,因为“new_dir 已存在”。由于该命令失败,所以下一个命令cd new_dir
执行成功。现在该命令已成功运行,下一个命令 pwd
将不会运行。
额外提示:结合 && 和 ||运营商
您可以组合这些运算符来运行两个或多个 Linux 命令。
如果将三个命令与 &&
和 ||
组合起来,它将表现为 C/C++ 中的三元运算符 (condition ? expression_true ; expression_false)。
cmd1 && cmd2 || cmd3
例如,您可以检查 bash 中是否存在文件,并相应地打印消息。
[ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
创建 file.txt 文件之前和之后运行上面的命令来查看差异:
您还可以使用 ;
、&&
和 ||
在 bash 脚本中运行多个命令。
更多此类 Linux 终端技巧
就像 Linux 终端中的复制粘贴一样,一次运行多个命令也是众多节省时间的 Linux 命令行技巧之一。
虽然很简单,但它是任何 Linux 终端用户都应该了解的基本概念。这里还有一些。
如果您对 Linux 命令完全陌生,我创建了一系列教程来帮助您。
我希望你喜欢这个终端技巧。请继续关注更多 Linux 命令提示和工具。