如何让bash的"bind"命令完全不可见?

How to make bash's "bind" commands completely invisible?

我的 .bashrc 中有以下几行:

# C-Z shortcut can be used to take a suspended job to fg
stty susp undef
bind '"\C-z":" fg >/dev/null 2>&1 5"'

这样做的目的是让绑定 C-Z 更好地暂停 Vim(因为它已经在 Vim 中作为默认值),然后在 C-Z 中使用bash 命令行界面立即返回 Vim。

除了一件事,这似乎工作得很好:

me:~$ vim ~/.bashrc

[1]+  Stopped                 vim ~/.bashrc
me:~$  fg >/dev/null 2>&1
me:~$  fg >/dev/null 2>&1
me:~$  fg >/dev/null 2>&1
me:~$  fg >/dev/null 2>&1
me:~$  fg >/dev/null 2>&1
me:~$

fg >/dev/null 2>&1 每次都出现。有什么方法可以使此绑定“静音”以便根本不显示任何输出吗?许多指南使用 zsh 或 fish 来实现这种行为,但我希望坚持 bash。

这应该适合你:

stty susp undef
bind -x '"\C-z":"fg >/dev/null 2>&1"'

请记住,这可能不是一个好主意,因为它会阻止您暂停大多数其他程序。