mni*_*ber 6 bash complete backticks
考虑这个单线程来激活bash完成foobar:
complete -F _known_hosts foobar
Run Code Online (Sandbox Code Playgroud)
这显示了完成选项列表
> foobar <TAB> <TAB>
Run Code Online (Sandbox Code Playgroud)
但不是
> $(foobar <TAB> <TAB>
Run Code Online (Sandbox Code Playgroud)
要么
> `foobar <TAB> <TAB>
Run Code Online (Sandbox Code Playgroud)
我认为对于反引号或$()内的表达式进行制表选项很有意义.我怎样才能做到这一点?
如果您只想完成命令,那么您可以执行以下操作:
\n\n1) 打开文件/usr/share/bash-completion/bash_completion。
2)转到功能_quote_readline_by_ref。
3)将该行替换[[ ${!2} == \\$* ]] && eval $2=${!2}为[[ ${!2} == \\$\\'* ]] && eval $2=${!2}。
4) 保存更改并退出。
\n\n此后,如果您打开一个新选项卡并开始在引号或中键入命令$(),该命令将完成或显示正常情况下发生的可能性。\n请参阅下面的示例:
[22:57]\xe2\x9c\x93 -> echo $(ls\nls lsblk lscpu lshw lsipc lslogins\nlsof lspcmcia lsusb lsattr \nRun Code Online (Sandbox Code Playgroud)\n\n如果您遇到任何问题,请告诉我。
\n| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |