有没有办法使linux CLI IO重定向持久化?

有没有办法使linux CLI IO重定向持久化?,第1张

概述我有多个管道命令,如下所示: find [options] | grep [options] | xargs grep [options] 它们中的每一个都可能产生我不感兴趣的错误(权限错误,文件名中错误等).因此,我想将所有错误重定向到/ dev / null.我知道我可以使用2> / dev / null为每个命令执行此 *** 作.我可以持久设置IO重定向吗?理想情况下,我只需在命令的开头/结尾设置 我有多个管道命令,如下所示:

find [options] | grep [options] | xargs grep [options]

它们中的每一个都可能产生我不感兴趣的错误(权限错误,文件名中错误等).因此,我想将所有错误重定向到/ dev / null.我知道我可以使用2> / dev / null为每个命令执行此 *** 作.我可以持久设置IO重定向吗?理想情况下,我只需在命令的开头/结尾设置一次,然后它将影响所有后续/前面的管道命令.此外,是否可以永久设置IO重定向,以便在重置之前它继续影响所有命令?

我正在使用bash(我检查了bash builtins的手册页,并没有在顶部看到’>’和’<'字符,所以我认为它是linux的东西......对不起)

解决方法 我将假设您正在使用bash,或者至少使用某种类似Bourne的shell.

我还假设您要避免的是以下内容:

find ... 2>/dev/null | grep ... 2>/dev/null | xargs ... 2>/dev/null

即,为管道的每个段重复2> / dev / null部分.

你可以这样做:

( find ... | grep ... | xargs ... ) 2>/dev/null

您还可以永久设置重定向,如下所示:

exec 2>/dev/null

并且(假设STDOUT和STDERR之前都指向同一个地方),您可以通过以下方式撤消:

exec 2>&1
总结

以上是内存溢出为你收集整理的有没有办法使linux CLI IO重定向持久化?全部内容,希望文章能够帮你解决有没有办法使linux CLI IO重定向持久化?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1021871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存