Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 回显到标准输出和标准输出_Linux_Shell - Fatal编程技术网

Linux 回显到标准输出和标准输出

Linux 回显到标准输出和标准输出,linux,shell,Linux,Shell,我有一个非常简单的初学者问题: 如何将shell脚本中的回送到stdout和stderr中? 我知道我可以回显到stderrecho“foo”1>&2,但我需要这两种格式的输出。 我尝试了一些谷歌搜索,但没有任何效果。这应该可以 echo "foo" | tee /dev/stderr 即使不支持stderr,这也会起作用 注意:如果您已使用另一个对tty具有写入权限的帐户,则Soren的答案将不起作用;但我的会的。可能会重复。不完全相同,但是如果您只是使您的流程cat>&2假设您的系统支

我有一个非常简单的初学者问题: 如何将shell脚本中的
回送到stdout和stderr中?
我知道我可以回显到stderr
echo“foo”1>&2
,但我需要这两种格式的输出。 我尝试了一些谷歌搜索,但没有任何效果。

这应该可以

 echo "foo" | tee /dev/stderr 
即使不支持stderr,这也会起作用


注意:如果您已使用另一个对tty具有写入权限的帐户,则Soren的答案将不起作用;但我的会的。

可能会重复。不完全相同,但是如果您只是使您的流程
cat>&2
假设您的系统支持
/dev/stderr
,那么答案仍然有效。我认为大多数或所有现代类Unix系统都会这样做,但为了防止您担心古代系统:
line=“foo”;回音“$line”;回显“$line”1>&2
。将其封装在别名或函数中应该很容易。注意:在
1>&2
中不需要
1
echo$line>&2
也需要这样做。仅供参考-busybox的“init”似乎不支持
/dev/stderr
。它不需要bash吗?Simple Bourne shell输出
sh:语法错误:“(“意外(预期单词)
echo foo | tee >(cat >&2)