compgen -d -- $cur只建议完成pwd中的目录,对吗?
我能让它建议某些dir的目录完成,而在另一个dir中。
就像。如果我在/curr_dir中,并且我想为/other_dir生成目录完成,我该怎么办?如何将其指定为compgen,以便不需要转到/other_dir
在bash完成函数中,在调用compgen之前,我尝试对该dir执行一个compgen,但是在按<Tab>之后,我就进入了另一个dir。
发布于 2014-05-16 19:20:00
compgen -d -- $cur只建议完成pwd中的目录,对吗?
不,假设内容是路径,它将完成$cur。通过将命令直接输入shell来自己尝试。示例:
$ compgen -d -- "/"
/run
/lib64
/usr
[...]因此,您唯一需要做的就是使用"$other_dir“而不是"$cur”。此外,请记住引用字符串,否则shell可能会拆分目录名:
compgen -d -- "$foo" # good
compgen -d -- $foo # badhttps://stackoverflow.com/questions/23700011
复制相似问题