次のように定義された 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 を押しても何も起こりません。私は何を間違っていますか?次の回答のコードを使用してみました