Bash 输入重定向

作者:Mitch Frazier

如果你使用 shell,你肯定知道重定向

  # echo 'hello world' >output
  # cat <output
第一行将 "hello world" 写入文件 "output",第二行将其读回并写入标准输出(通常是终端)。

然后是 "here" 文档

  # cat <<EOF
  > hello
  > world
  > EOF
"here" 文档本质上是一个临时的、无名称的文件,用作命令的输入,这里是 "cat" 命令。

一种不太常见的 here 文档形式是 "here" 字符串

  # cat <<<'hello world'
在这种形式中,"<<<" 后面的字符串将成为 "here" 文档的内容。

另一种不太常见的重定向形式是重定向到特定的文件描述符

  # echo 'Error: oops' >&2
这会将 "echo" 命令的输出重定向到文件描述符 2,即标准错误。 如果您希望在重定向脚本的输出时,防止脚本的错误输出污染正常输出,这非常有用。

这些功能在 bash 中有效,可能在其他 shell 中不可用。

Mitch Frazier 是 Emerson Electric Co. 的嵌入式系统程序员。自 2000 年代初以来,Mitch 一直是 Linux Journal 的贡献者和朋友。

加载 Disqus 评论