0

我想编写 bash 函数来抑制输出到 bash 中的命令行。

我在 $HOME/.bashrc 中包含了以下内容

# suspend output to the terminal
noout(){
        $* &>/dev/null &
}

例如,我为 evince 创建了别名:

alias evince='noout evince'

这适用于文件名中没有空格的文件。但是,如果我启动类似:

evince Jack\ London\ -\ The\ Star\ Rover.pdf

Bash 将文件名分成几个位,并打开几个空窗口。

感谢您为其提供任何帮助。

4

1 回答 1

1

尝试这个:

noout() {
    "$@" >/dev/null 2>&1 &
}

我不确定您为什么要在后台执行此操作,但这是您的选择。我的答案的相关方面是引号和使用的$@代替$*。另请参阅shell 脚本中的“$@”是什么意思

于 2013-10-01T09:00:56.480 回答