将“键入的文本”从 bash 交互式 shell 传递到命令

将“键入的文本”从 bash 交互式 shell 传递到命令

当用户按下键盘绑定|快捷键时,我想将用户在 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"

相关内容