4
〜/ .zshrcから関数をsudoすると「コマンドが見つかりません」
私には私の機能があります~/.zshrc: findPort() { lsof -t -i :$1 } 通常の呼び出しはfindPort 3306です。 管理者特権で実行したい。しかし、「コマンドが見つかりません」と表示されます。 ➜ git 🍔 sudo findPort 3306 sudo: findPort: command not found その理由は、rootユーザーが非対話型シェルとして実行されている(したがって、.zshrcを参照していない)か、別のを 参照しているためだと思い.zshrcます。 に関する同様の質問を見ましたaliasが、ユーザー定義関数に関する質問はありません。に関するこの問題の回答にaliasは、にエイリアスを追加することが含まれ~/.zshrcます。 alias sudo='nocorrect sudo ' 多分: alias sudo='sudo ' 私はこれらの両方の解決策を試しましたが、問題はまだ存在しています(はい、シェルを再起動しました)。 またsudo chsh、ルートシェルがで実行されるように実行してみましたzsh。これらの解決策はいずれも、「コマンドが見つかりません」という問題を取り除きません。 sudoでユーザー定義関数を実行する方法はありますか?