如何通过Shell行代码执行正确的inputrc命令?报错求助
解决bind命令绑定Readline函数报错的问题
你用bind -x绑定next-history出错,是因为-x选项的作用是把按键绑定到外部Shell命令/脚本,而next-history是Bash内置的Readline操作函数,不是可执行命令,所以会报“command not found”。
正确的绑定方式有两种:
1. 直接在命令行临时绑定
不需要加-x,直接用bind命令绑定Readline操作:
bind '"\C-l": next-history'
这个设置会在当前Shell会话生效,关闭终端后失效。
2. 持久化配置(永久生效)
如果想让配置在每次启动Bash时都生效,可以把绑定规则写入~/.inputrc文件,再加载:
# 把绑定规则追加到用户的inputrc文件 echo '"\C-l": next-history' >> ~/.inputrc # 立即加载配置 bind -f ~/.inputrc
之后每次打开新的Bash终端,这个按键绑定都会自动生效。
另外补充:如果确实需要用bind -x,只能绑定可执行的外部命令,比如绑定Ctrl+k执行ls:
bind -x '"\C-k": ls'
内容的提问来源于stack exchange,提问作者user17952975
相关产品推荐
相关产品推荐

