当用户按下键盘绑定|快捷键时,我想将用户在 bash shell 中输入的任何内容传递给命令
例如:假设 Ctrl+b 是我们的绑定
bind '"\C-b": "myCommand.sh"'
用户键入tar czv
,然后按快捷键,将字符串“tar czv”传递给 mycommand.sh
这有可能吗?我能想到的唯一办法就是 echo 后通过。
bind '"\C-b": " \e[1~ echo '\''\e[4~'\''| mycommand.sh\n"'
有没有更好的办法?
答案1
不确定我是否完全理解,但这似乎符合您的要求(?)。
bind '"\C-b": "\C-a\C-kecho \'\'\\C-y\'\\' | myCommand.sh\n"'
引用变得很棘手。在 ~/.inputrc 中更容易:
"\C-b": "\C-a\C-kecho \'\C-y\' | myCommand.sh\n"
除了回显之外,让脚本采用命令行参数怎么样?再次,在 ~/.inputrc 中:
"\C-b": "\'\C-amyCommand.sh \'\n"