如何将shell中标准输出和标准错误重定向操作改写成长尾?

2026-04-01 06:420阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计439个文字,预计阅读时间需要2分钟。

如何将shell中标准输出和标准错误重定向操作改写成长尾?

例如这个脚本myscript.sh的内容如下:

如何将shell中标准输出和标准错误重定向操作改写成长尾?

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分钟。

如何将shell中标准输出和标准错误重定向操作改写成长尾?

例如这个脚本myscript.sh的内容如下:

如何将shell中标准输出和标准错误重定向操作改写成长尾?

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)。

阅读全文