迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Bash 抑制输出

作者:迹忆客 最近更新:2023/06/09 浏览次数:

本文将解释使用 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 脚本。

  1. bash First.sh 输出:
    Hello
    World
    
  2. ./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 与 & 的区别

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

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 分类:操作系统

本文将展示我们如何在变量中获取文件。 此外,我们将看到必要的示例和适当的解释,以使主题更容易理解。要保存到变量中的文本文件

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便