compgen
compgen
命令可用来模糊搜索文件名。
compgen
的参数与 complete
的参数一样。
-P
参数匹配前缀。 -S
参数匹配后缀。 -G
参数匹配支持 *
通配符。 -f
参数补全文件 -d
参数补全目录
compgen -G "./*.bash"
sort <(compgen -G "./*.bash")
补全文件(不包括目录)路径的例子
result=$(compgen -f "$2")
if [[ -d $result ]]; then
compgen -f "$result/"
else
echo "${result[@]}"
fi