如何将shell中标准输出和标准错误重定向操作改写成长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计439个文字,预计阅读时间需要2分钟。
例如这个脚本myscript.sh的内容如下:
bash#!/bin/bashecho Hello, World!
比如这个脚本myscript.sh:
#!/bin/sh
echo "I'm stdout";
echo "I'm stderr" >&2;
交换它的stdout和stderr可以这样做:
(sh myscript.sh 3>&2 2>&1 1>&3-) 2>/dev/null
(sh myscript.sh 3>&2 2>&1 1>&3-) >/dev/null
I'm stderr
I'm stdout
3>&2表示将文件描述符2复制为文件描述符3(不是dup,tee才用的dup)。
本文共计439个文字,预计阅读时间需要2分钟。
例如这个脚本myscript.sh的内容如下:
bash#!/bin/bashecho Hello, World!
比如这个脚本myscript.sh:
#!/bin/sh
echo "I'm stdout";
echo "I'm stderr" >&2;
交换它的stdout和stderr可以这样做:
(sh myscript.sh 3>&2 2>&1 1>&3-) 2>/dev/null
(sh myscript.sh 3>&2 2>&1 1>&3-) >/dev/null
I'm stderr
I'm stdout
3>&2表示将文件描述符2复制为文件描述符3(不是dup,tee才用的dup)。

