我经常使用该gio open
命令,所以我所做的是在 .bashrc 文件中为它添加了一个别名
alias open="gio open"
因此,我可以简单地写open .
或open ~/Pictures/example.png
作为一个例子。
但是,我无法阻止烦人的输出,因为默认情况下
gio
它没有选项,在其工作期间输出一些消息,例如:--quite
gio open
msi@msi:~/Pictures$ open image-3.jpg
msi@msi:~/Pictures$
(gthumb:37944): Gtk-WARNING **: 08:00:54.815: Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register client
所以我发现有些人正在使用重定向运算符将命令的输出从标准输出(shell)重定向到,/dev/null
因为所有内容都写入这个“设备”会被直接删除。
你能帮忙吗?
抑制错误输出
应用程序的警告消息,在您的示例“gthumb”中,不会发送到标准输出,而是发送到
stderr
. 您可以抑制这些消息,例如:别名为
也将在您的别名中自动化该方面。
抑制所有输出
要消除所有输出,请将文件描述符 1 (
stdout
) 和 2 (stderr
) 都重定向到/dev/null
:以下具有相同的效果,但只允许您指定最终目标一次:
stdout
被重定向到和/dev/null
,变成. 可以省略,因为它是默认输出。stderr
stdout
/dev/null
1
Bash 和其他 shell 也允许使用这种快捷表示法: