Colpire lo stesso problema su Fedora 33. Ciò sembra dovuto alla definizione di un alias per sudo
nel mio ambiente:
$ alias sudo
alias sudo='\sudo '
A causa di ciò, in qualche modo bash risolve gli alias passati come argomenti a sudo
alias, come mostrato nell'esempio seguente:
$ alias foo='echo foo'
$ sudo foo
foo
Mi sarei aspettato invece di avere questo:
$ sudo foo
$ sudo: foo: command not found
L'eliminazione di questo alias ha funzionato per me. Questo alias è stato creato da /usr/local/bin/alias.sh
, parte di synth-shell
progetto (https://github.com/andresgongora/synth-shell)
Come menzionato da @scy, unalias-ing vi e vim è una soluzione alternativa per mantenere l'alias sudo="sudo " in modo che possa essere utilizzato con altri alias.
Espandendo la sua risposta per le diverse shell:
Shell ZSH: Aggiungi a .zshrc file (dell'utente che desideri sia interessato dalle modifiche)
- situato in:
Per Fedora 33 Workstation (o Server o un'altra distribuzione del sistema operativo non atomica):/home/$USER/.zshrc
Per Fedora CoreOS 33.x (o Silverblue 33 o altra distribuzione di sistema operativo atomico simile):/var/home/$USER/.zshrc
- le seguenti righe di codice:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim
Shell BASH: Aggiungi a .bashrc file (dell'utente che desideri sia interessato dalle modifiche)
- situato nelle stesse posizioni, rispettivamente alla posizione specifica del sistema operativo/distro per la directory home di $USER (controllare le indicazioni per Fedora Workstation, ecc...)
- il seguente codice:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim
P.S. Per quanto riguarda ZSH Shell , questa soluzione può risolvere problemi simili con altre applicazioni CLI che si trovano in una situazione di inizializzazione simile. Ad esempio:mc (Comandante di mezzanotte). Nel frattempo, mc non avrà alcun problema di questo tipo in BASH Shell .