compgen -d -- $cur
会建议pwd目录的完成权吗?
我是否可以在另一个目录中为某个目录建议目录完成。
例如。如果我在/curr_dir
,并且我想为/other_dir
生成目录完成,我该怎么办?如何将其指定为compgen
,以便我无需转到/other_dir
在我的bash-completion函数中,我尝试在调用cd
之前对该目录执行compgen
但在按<Tab>
后将其留在另一个目录中。
答案 0 :(得分:3)
compgen -d -- $cur
会建议pwd目录的完成权吗?
不,它将完成$cur
,假设内容是路径。输入要自己尝试一下
命令直接进入你的shell。例如:
$ compgen -d -- "/"
/run
/lib64
/usr
[...]
所以你唯一需要做的就是使用“$ other_dir”而不是“$ cur”。 另外,请记住引用字符串或shell可能会拆分目录名称:
compgen -d -- "$foo" # good
compgen -d -- $foo # bad