在bash中使用grepped文件作为包含的源

And*_*rew 1 bash grep

我在共享的webhost上,我没有权限编辑全局bash配置文件/ect/bashrc.不幸的是,全局文件中有一行mesg y,它将终端置于tty模式,并使得scp类似的命令不可用.我的本地~./bashrc包括全局文件作为源,如下所示:

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi
Run Code Online (Sandbox Code Playgroud)

我当前的解决方法用于grep将全局文件(无sans违规行)输出到本地文件中并将用作源.

# Source global definitions
if [ -f /etc/bashrc ]; then
    grep -v mesg /etc/bashrc > ~/.bash_global
    . ~/.bash_global
fi
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有创建实际文件的中间步骤的情况下包含这样的grepped文件?像这样的东西?

. grep -v mesg /etc/bashrc > ~/.bash_global
Run Code Online (Sandbox Code Playgroud)

gho*_*g74 5

失去了猫,它没用

source <(grep -v "mesg" /etc/bashrc)
Run Code Online (Sandbox Code Playgroud)

<()语法称为进程替换.