J'ai une fonction dans mon ~/.zshrc:
findPort() {
    lsof -t -i :$1
}L'invocation habituelle est findPort 3306.
Je veux l'exécuter avec des privilèges élevés. Mais j'obtiens "commande introuvable".
➜  git 🍔 sudo findPort 3306
sudo: findPort: command not foundJe suppose que la raison en est que l'utilisateur root s'exécute en tant que shell non interactif (ne fait donc pas référence à un .zshrc) ou fait référence à un autre .zshrc .
J'ai vu des questions similaires concernant alias, mais aucune question concernant les fonctions définies par l'utilisateur. Les réponses à ce problème concernant l' aliasajout d'un alias à ~/.zshrc:
alias sudo='nocorrect sudo 'Ou peut-être:
alias sudo='sudo 'J'ai essayé ces deux solutions, et le problème existe toujours (oui, j'ai relancé le shell).
J'ai également essayé de courir sudo chshpour m'assurer que mon shell racine fonctionne sous zsh. Aucune de ces solutions ne supprime le problème «commande introuvable».
Existe-t-il un moyen d'exécuter mes fonctions définies par l'utilisateur sous sudo?