Linux依次执行多条命令

发布时间 2023-11-15 10:18:58作者: 蝈蝈俊

在Linux中,无论是CentOS还是Ubuntu,执行多条命令的方式基本相同,以下是几种常用的方法:

方式 符号 描述
分号,分隔符 ; 依次执行,无视前一个命令的执行结果
逻辑与 && 只有当前一个命令成功执行时,才执行下一个命令
逻辑或 || 当前一个命令失败时,才执行下一个命令
管道 | 将前一个命令的输出作为后一个命令的输入

下面详细介绍:

分号(? 分隔符

你可以使用分号来分隔多条命令。这样,无论前一条命令执行成功与否,后面的命令都会被执行。例如:

ls; pwd; whoami

这个例子中,系统将依次执行ls(列出目录内容),pwd(打印当前目录),和whoami(显示当前用户)。

逻辑与AND(&&) 分隔符

如果你希望第二条命令只在第一条命令成功执行后才执行,可以使用&&。例如:

gcc program.c -o program && ./program

这里,./program只有在gcc成功编译program.c后才会执行。

逻辑或OR(||) 分隔符

相反,如果你希望在第一条命令失败时执行第二条命令,可以使用||。例如:

gcc program.c -o program || echo "Compilation failed"

如果gcc编译失败,将会打印“Compilation failed”。

管道 分隔符

管道用于将一个命令的输出作为另一个命令的输入。虽然这不是“依次执行”命令的传统方式,但它允许命令之间的交互。例如:

cat file.txt | grep "something"

这个例子中,grep命令会搜索由cat file.txt输出的内容中的“something”。

linux 如何判断成功还是失败

Linux 中的命令成功或失败是通过返回值(也称为退出状态)来判断的。按照惯例:

  • 返回值为 0: 表示命令执行成功。
  • 返回值非 0: 表示命令执行失败。

这个返回值是由命令最后执行的那个进程提供的。在 shell 脚本或命令行中,这个返回值可以通过特殊变量 $? 来访问。例如,执行一个命令后,可以立即执行 echo $? 来查看上一个命令的退出状态。

大多数命令遵循这个约定,但也有一些命令可能会使用特定的非零返回值来表示不同类型的错误或情况。通常,这些特定的返回值会在命令的文档或帮助页面中有所说明。