Aliase bei der Verwendung von sudo beachten?

1

Ich habe zwei Aliase in meinem Konto eingerichtet .bash_profile. Ich möchte sudobeide ehren:

$ cat ~/.bash_profile
export EDITOR=emacs
...
alias yum="dnf"
alias ssh="ssh -2"
...

Ich weiß, wie ich sudomeine Umgebung ehren soll ( -E), aber ich kann die Option für Aliase nicht finden. Durchsuchen der Manpage nach aliasErgebnissen in Pattern not found.

Wie kann ich sudomeinen Aliasen Ehre erweisen?

Danke im Voraus.


Ich versuche, diese nervigen Nachrichten zu vermeiden, weil Fedora Befehle ändert:

$ sudo yum update
[sudo] password for: 
Yum command has been deprecated, redirecting to '/usr/bin/dnf update'.
See 'man dnf' and 'man yum2dnf' for more information.
...
jww
quelle

Antworten:

1

sudo kann nicht wirklich „Ehre“ Aliasnamen, wie sie ein Shell-Spezifikum sind - die einzige Möglichkeit , sudo könnte über sie wissen , ob es gelehrt wurde , wie zu lesen ~/.bashrc, ~/.zshrc, ~/.cshrc... von selbst aus .

Bei gewöhnlichen Aliasnamen können Sie die Shell selbst dazu verleiten, sie zu erweitern, wenn Folgendes folgt sudo:

alias sudo="sudo "

(Es ist irgendwie irgendwo dokumentiert.)

Aber für Funktionen gibt es nichts Ähnliches; Sie müssen sudo -sEstattdessen den interaktiven Modus verwenden.

Grawity
quelle
Danke Grawity. Ich brauche etwas Zeit, um zum Testen zu Fedora zurückzukehren.
Jww
1

Eine andere mögliche Lösung für Ihr Problem besteht darin, Ihre Aliase wie gewohnt in Ihre Datei einzufügen /home/YourName/.bash_aliasesund diese Datei dann in das Stammverzeichnis des Stammverzeichnisses zu verlinken:

      sudo ln -s /home/YourName/.bash_aliases /root/.bash_aliases

Dies sollte automatisch funktionieren, da die meisten Distributionen diese Zeilen in der .bashrcDatei haben, die Sie standardmäßig erhalten.

      if [ -f ~/.bash_aliases ]; then
          . ~/.bash_aliases
      fi

Wenn Sie sie nicht haben, ist es einfach, sie hinzuzufügen.

MariusMatutiae
quelle