我正在为Gentoo做一个bash完成,它搜索包,设置(portage 2.2新功能),但是当我使用以下命令时遇到了问题:
emerge @pres
我应该得到@ preserved-libs,但bash把它变成:
emerge pres
首先想到的是我的脚本名为“emerge-finder.pl”的问题,所以我仔细检查了,这个脚本给出了正确的输出。
然后我检查了bash脚本:
_portage_cmd () {
COMPREPLY=( `~/scripts/emerge-finder.pl ${COMP_WORDS[COMP_CWORD]}` )
}
complete -F _portage_cmd em
我在COMPREPLY行之前放了一个“echo $ {COMP_WORDS [COMP_CWORD]}”,并且没有输出“@”字符,有线。
如何让我的“@”不被bash剥离? 非常感谢!
答案 0 :(得分:1)
引用或转发它可能会有所帮助......
所以引用:
emerge '@pres'
或逃避:
emerge \@pres