Bash 抑制输出
本文将解释使用 Bash 抑制命令输出的方法。 此外,我们还将研究将输出重定向到文件以供以后使用。
Shell 和脚本简介
Shell 是一个在 Linux 中运行命令行界面的程序。 在 Linux 中,所有用户都可以使用许多不同的 shell。
通常,许多 Linux 发行版都使用默认的 GNU 的 Bourne-Again Shell (Bash)。
包含一系列命令的文件称为脚本。 使用 Bash 程序读取和执行此文件。
例如,假设一个名为 First.sh 的文件的内容如下:
#!/bin/bash
echo "Hello"
echo "World"
在上面的示例中,First.sh 是一个脚本文件,其中包含两个 echo 命令,当脚本执行时,这两个命令将在终端上显示 Hello World。 第一行 #!/bin/bash
标记了解释器用于运行脚本的位置。
我们可以通过两种不同的方式在 Linux 终端上执行 Bash 脚本。
-
bash First.sh
输出:Hello World
-
./First.sh
输出:Hello World
在 Bash 脚本中抑制命令输出
我们可以在执行 Bash 脚本期间抑制任何用 Bash 脚本编写的命令的输出。 我们可以将输出重定向到空设备。
例如,如果我们想抑制 First.sh 脚本的输出,我们可以使用以下命令。
./First.sh > /dev/null
此命令会抑制 First.sh 脚本的输出,并且不会在终端上显示任何内容。 但是,如果 First.sh 脚本有任何错误,它仍然会显示在终端上。
考虑 First.sh 脚本中的以下命令。
#!/bin/bash
echo "Hello
echo "World"
在脚本中,第一个 echo
命令中缺少 "
。使用 ./First.sh 运行以下脚本的输出如下:
./First.sh: line 3: unexpected EOF while looking for matching `"'
./First.sh: line 4: syntax error: unexpected end of file
如果我们使用命令 ./First.sh > /dev/null
运行此脚本,将显示相同的输出。
./First.sh: line 3: unexpected EOF while looking for matching `"'
./First.sh: line 4: syntax error: unexpected end of file
抑制 Bash 脚本的错误
如果任何 Bash 脚本包含错误,./scriptname > dev/null 命令不会抑制错误并在终端上显示错误,如上所述。
我们也可以抑制来自终端的错误。 以下命令可以在执行 First.sh Bash 脚本时抑制终端的输出和错误。
./First.sh &>/dev/null
./First.sh >/dev/null 2>&1
./First.sh >/dev/null 2>/dev/null
第一个命令 ./First.sh &>/dev/null
可能不适用于所有 Linux shell。
记录或存储 Bash 脚本的输出
当我们在执行 Bash 脚本期间使用 /dev/null 时,输出会被抑制。 但是,我们可以将输出存储或记录在自定义文件中。
考虑以下 First.sh 脚本。
#!/bin/bash
echo "Hello"
echo "World"
我们可以使用以下命令运行 First.sh 脚本来存储或记录 Bash 输出。
./First.sh > outputfile.out
当我们执行上面的命令时,它不会在终端上显示任何东西; 但是,会创建一个名为 outputfile.out 的新文件(如果尚不存在),文件内容为:
Hello
World
如果 outputfile.out 已经存在,现有内容将被修饰,脚本的新输出将存储在文件中。
相关文章
Bash Nohup 与 & 的区别
发布时间:2023/06/09 浏览次数:137 分类:操作系统
-
这篇简短的文章介绍了通过 Bash 在后台运行 Linux 进程的 nohup 命令和 & 控制运算符。 此外,我们将进一步研究 nohup 和 & 之间的主要区别。在后台运行 Linux 进程
在 Bash 中重命名文件
发布时间:2023/06/09 浏览次数:50 分类:操作系统
-
在本文中,我们将介绍一种方法,通过它您可以轻松地重命名目录中的所有文件。 此外,我们将看到必要的示例和解释,以使主题更容易理解。在 Bash 中使用 mv 命令重命名文件
在另一个 Bash 脚本中包含脚本文件
发布时间:2023/06/09 浏览次数:79 分类:操作系统
-
本文讨论了将一个 Bash 脚本文件包含到另一个脚本文件中的不同方法。在 Bash 脚本中包含文件 在 Bash 中包含或重用脚本非常简单。
使用 Bash 将文件读入数组
发布时间:2023/05/31 浏览次数:81 分类:操作系统
-
本篇文章介绍了一些使用 Bash 从文件中读取行并将其加载到数组中的方法。首先,我们将看到 readarray 方法。 之后,我们将研究一种更通用的将文件读入 Bash 数组的方法。
在 Bash 中从文件中删除行
发布时间:2023/05/31 浏览次数:168 分类:操作系统
-
在 Bash 脚本中,有几种方法可以从文件中删除一行。 本文将讨论从文件中删除不必要行的不同方法。使用 tail 删除文本文件的一行
在 Bash 中查找文件大小
发布时间:2023/05/31 浏览次数:109 分类:操作系统
-
在 Bash 脚本中,有几种方法可以找到文件的大小。 本文将展示如何通过 Bash 查找文件的大小。我们将在这里讨论三种不同的方法,您可以根据自己的需要选择最合适的一种。
在 Bash 中删除空行
发布时间:2023/05/31 浏览次数:113 分类:操作系统
-
使用文件时,您可能需要在显示文件之前从文件中删除空行。 在 Bash Script 中,有几种方法可以从文件中删除空行。在 Bash 中删除空行的文件
在 Bash 中递归查找文件
发布时间:2023/05/31 浏览次数:197 分类:操作系统
-
这篇文章是关于 Bash 中的 find 命令的。 本文将讨论在 Bash 中使用 find 命令查找特定类型文件的方法。在 Bash 中使用 find 命令递归查找文件 用于导航文件层次结构的命令行工具是 Linux 中的 find
在 Bash 中将文件读入变量
发布时间:2023/05/31 浏览次数:169 分类:操作系统
-
本文将展示我们如何在变量中获取文件。 此外,我们将看到必要的示例和适当的解释,以使主题更容易理解。要保存到变量中的文本文件