对于这个问题,我将使用grep
,因为它的使用文本打印到 stderr:
$ grep
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
您可以使用进程替换轻松捕获标准输出:
$ read b < <(echo hello world)
然而,stderr 跳过了进程替换并打印到控制台:
$ read b < <(grep)
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
我想使用进程替换来捕获标准错误。我现在正在使用这个:
$ grep 2> log.txt
$ read b < log.txt
但我希望避免临时文件。