是否可以在键绑定功能中将值粘贴到终端的可编辑字符串中?

是否可以在键绑定功能中将值粘贴到终端的可编辑字符串中?

我知道 bash 中的绑定。 bind -x '"\C-k":"mc"'— 此示例允许在可编辑命令未完成时运行 mc。我认为,这样可以完成很多宏。当没有 X11 的情况下工作时这会很有帮助。

我尝试以这种方式粘贴测试值:

bind -x '"\C-o":"echo -n 123"'
bind -x '"\C-o":"echo -n 123 >> /dev/pts/12"
bind -x '"\C-o":"xclip -out"'
bind -x '"\C-o":"expect exp.txt"'

但结果是

在此输入图像描述

另一个想法:

  • 使用 bash 的剪贴板(Ctrl-w、Ctrl-y)。 Man bash 称之为“杀环”。但我无法找到如何使用它的编程方法。
  • 回显到模拟按下文本的每个字母的程序。

答案1

我找到了。man bash在命令的描述中谈到它bind

可编辑字符串有变量:READLINE_LINE, READLINE_MARK, READLINE_POINT

那么命令将是这样的:

bind -x '"\C-o":"READLINE_LINE=$READLINE_LINE$(date '+%Y%m%d-%H%M%S')"'

在此输入图像描述

相关内容