当我键入某些命令时,有时我想阅读该命令的帮助。例如,当我输入
sort --overwrite some_texI # I is a cursor
,我想检查sort
命令是否具有--overwrite
选项,读取sort --help
的输出或我所做的任何选项摘要。我希望bind -x
可以实现这一点,但不知道如何传递(一部分)当前命令行信息(在本例中为“ sort”一词)。当然,bind -x 'KEY: "sort --help"'
可以很好地工作,但是我希望它适用于所有命令。因此,伪命令为bind -x 'KEY: "CURRENT_COMMAND --help"'
。
有人可以提供解决方案或提示吗?
答案 0 :(得分:0)
您可以使用bash的READLINE_LINE
变量。 man bash
说
bind
[-m键映射] keyseq:readline-command(剪裁)
-x
keyseq:shell-command(snip)执行shell命令时,shell将
READLINE_LINE
变量设置为readline行缓冲区的内容
因此,您想要的是READLINE_LINE
的第一个单词。因此,解决方案是bind -x 'KEY": "array=($READLINE_LINE); ${array[0]} --help"'
。