Benim bir işlevi var ~/.zshrc:
findPort() {
lsof -t -i :$1
}
Her zamanki çağrı findPort 3306.
Yükseltilmiş ayrıcalıklarla çalıştırmak istiyorum. Ama "komut bulunamadı" mesajını alıyorum.
➜ git 🍔 sudo findPort 3306
sudo: findPort: command not found
Bunun nedeni, kök kullanıcının ya etkileşimli olmayan bir kabuk olarak çalıştığı (bu nedenle bir .zshrc'ye başvurmadığı) ya da farklı bir değere işaret ettiği varsayılmaktadır .zshrc.
Benzer sorular gördüm alias, ancak kullanıcı tanımlı işlevlerle ilgili hiçbir soru yoktu. Bu sorunun yanıtları aşağıdakilere aliastakma ad eklemeyi içerir ~/.zshrc:
alias sudo='nocorrect sudo '
Ya da belki:
alias sudo='sudo '
Bu çözümlerin her ikisini de denedim ve sorun hala var (evet kabuğu yeniden başlattım).
Ayrıca sudo chshkök kabuğumun altında çalışmasını sağlamak için çalışmayı denedim zsh. Bu çözümlerin hiçbiri "komut bulunamadı" sorununu gidermez.
Kullanıcı tanımlı işlevlerimi sudo altında çalıştırmanın bir yolu var mı?