0

我有一个名为 load_pg 的函数,它的定义如下:

load_pg () {
    pg_restore --verbose --clean --no-acl --no-owner -h localhost -U $1 -d $2 $3
}

我正在尝试使用以下代码自动完成每个参数:

#compdef load_pg
_arguments -s \
  "1::_ldpguser" \
  "2::_ldpgdb" \
  "3::_ldpgfile"

_ldpguser () {
  compadd $USER
}

_ldpgdb () {
  compadd $(cat config/database.yml | grep -i database | awk '{print $2}')
}

_ldpgfile () {
  compadd $(ls *.dump*)
}

不幸的是,当我按 TAB 时没有任何反应。我究竟做错了什么?我尝试使用以下答案中的代码

4

0 回答 0