【问题标题】:How to write a bash shell script that outputs messages to standard output and error? [duplicate]如何编写将消息输出到标准输出和错误的 bash shell 脚本? [复制]
【发布时间】:2020-01-29 04:52:54
【问题描述】:

我是 Unix 的初学者,我需要编写一个输出消息的 bash shell 脚本:

I am standard output

到标准输出,并且

I am standard error

到标准错误。

为了证明脚本正常运行,我需要先将标准输出重定向到

/dev/null 

然后将标准错误重定向到同一个文件。

我在脚本中写了以下几行:

echo 'I am standard output'>&1>/dev/null
echo 'I am standard error'>&2>/dev/null

但是,我看不到如何验证我的脚本。我在哪里可以看到 /dev/null 文件?如何确保脚本正常运行?

【问题讨论】:

    标签: bash shell unix output standards


    【解决方案1】:

    /dev/null 的全部意义在于,您发送到该“文件”的所有内容都会被自动丢弃。所以,你看不到里面写了什么。您可能希望将输出定向到不同的文件。

    请注意,/dev/null 并不是物理存储驱动器中真正的“常规”文件。相反,它是一个“device file”,可以说是由操作系统控制的虚拟文件。有关这方面的更多信息,您可能想从 Internet 上的许多 Unix 教程中学习任何一个,或者找到一本好的入门书籍。像往常一样,/dev/null 上有一个manual page,但这并不完全是教育性的。

    【讨论】:

      【解决方案2】:

      >/dev/null 在这里是多余的。

      echo 'I am standard output'>&1
      echo 'I am standard error'>&2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-11
        • 2011-03-09
        • 1970-01-01
        • 2021-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多