【发布时间】:2017-11-12 11:29:54
【问题描述】:
在 fish-shell 脚本中,如何将错误消息打印到 stderr?
例如,这条消息应该发送到 stderr 流而不是默认的 stdout 流。
echo "Error: $argv[1] is not a valid option"
【问题讨论】:
标签: shell stdout stderr io-redirection fish
在 fish-shell 脚本中,如何将错误消息打印到 stderr?
例如,这条消息应该发送到 stderr 流而不是默认的 stdout 流。
echo "Error: $argv[1] is not a valid option"
【问题讨论】:
标签: shell stdout stderr io-redirection fish
您可以将输出重定向到stderr,例如:
echo "Error: $argv[1] is not a valid option" 1>&2
作为参考,这里有一些适用于 fish* 的常见 IO 重定向。
foo 1>&2 # Redirects stdout to stderr, same as bash
bar 2>&1 # Redirects stderr to stdout, same as bash
bar ^&1 # Redirects stderr to stdout, the fish way using a caret ^
* 标准输入、标准输出和标准错误的文件描述符分别为 0、1 和 2。
* & 表示您希望重定向到文件流而不是文件。
* Comparison of redirection in various shells (bash, fish, ksh, tcsh, zsh)
【讨论】:
1 - 只需添加>&2 也可以,因为从标准输出重定向是默认设置。 (不允许有空格——> &2 不起作用。)