Dasselbe Problem tritt bei Fedora 33 auf. Dies scheint darauf zurückzuführen zu sein, dass ein Alias für sudo
definiert wurde in meiner Umgebung:
$ alias sudo
alias sudo='\sudo '
Aus diesem Grund löst Bash irgendwie Aliase auf, die als Argumente an sudo
übergeben werden Alias, wie im folgenden Beispiel gezeigt:
$ alias foo='echo foo'
$ sudo foo
foo
Ich hätte stattdessen folgendes erwartet:
$ sudo foo
$ sudo: foo: command not found
Das Löschen dieses Alias hat bei mir funktioniert. Dieser Alias wurde von /usr/local/bin/alias.sh
erstellt , Teil von synth-shell
Projekt (https://github.com/andresgongora/synth-shell)
Wie @scy erwähnte, ist das Unaliasing von vi und vim eine Workaround-Lösung, um den Alias sudo="sudo " beizubehalten, damit er mit anderen Aliasen verwendet werden kann.
Erweitern seiner/ihrer Antwort für die verschiedenen Shells:
ZSH-Shell: Zur .zshrc hinzufügen Datei (des Benutzers, der von den Änderungen betroffen sein soll)
- zu finden unter:
Für Fedora 33 Workstation (oder Server oder eine andere nicht-atomare Betriebssystemdistribution):/home/$USER/.zshrc
Für Fedora CoreOS 33.x (oder Silverblue 33 oder eine andere ähnliche atomare Betriebssystemdistribution):/var/home/$USER/.zshrc
- die folgenden Codezeilen:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim
BASH-Shell: Zur .bashrc hinzufügen Datei (des Benutzers, der von den Änderungen betroffen sein soll)
- befindet sich an den gleichen Speicherorten, entsprechend dem OS/Distro-spezifischen Speicherort für das Home-Verzeichnis von $USER (überprüfen Sie die Anweisungen für Fedora Workstation usw.)
- den folgenden Code:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim
P.S. Bezüglich ZSH-Shell , kann diese Lösung ähnliche Probleme mit anderen CLI-Anwendungen lösen, die sich in einer ähnlichen Initialisierungssituation befinden. Zum Beispiel:mc (Mitternachtskommandant). In der Zwischenzeit, mc wird in BASH Shell kein solches Problem haben .