Narazí na stejný problém ve Fedoře 33. Zdá se, že je to způsobeno tím, že je pro sudo
definován alias v mém prostředí:
$ alias sudo
alias sudo='\sudo '
Kvůli tomu bash nějak řeší aliasy předané jako argumenty do sudo
alias, jak je znázorněno v příkladu níže:
$ alias foo='echo foo'
$ sudo foo
foo
Očekával bych, že místo toho budu mít toto:
$ sudo foo
$ sudo: foo: command not found
Smazání tohoto aliasu mi fungovalo. Tento alias vytvořil /usr/local/bin/alias.sh
, část synth-shell
projektu (https://github.com/andresgongora/synth-shell)
Jak @scy zmínila, unaliasování vi a vim je řešením pro zachování aliasu sudo="sudo ", aby jej bylo možné použít s jinými aliasy.
Rozšíření jeho/její odpovědi pro různé mušle:
Skořápka ZSH: Přidat do .zshrc soubor (uživatele, kterého se změny mají týkat)
- nachází se na adrese:
Pro pracovní stanici Fedora 33 (nebo server nebo jinou neatomickou OS Distro):/home/$USER/.zshrc
Pro Fedora CoreOS 33.x (nebo Silverblue 33 nebo jinou podobnou atomickou OS Distro):/var/home/$USER/.zshrc
- následující řádky kódu:
[ "$(type -w vi)" = 'vi: alias' ] && unalias vi
[ "$(type -w vim)" = 'vim: alias' ] && unalias vim
Skořápka BASH: Přidat do .bashrc soubor (uživatele, kterého se změny mají týkat)
- nachází se ve stejných umístěních, odpovídajících umístění specifického pro OS/Distro pro domovský adresář $USER (podívejte se na pokyny pro pracovní stanici Fedora atd...)
- následující kód:
[ "$(type -t vi)" = 'alias' ] && unalias vi
[ "$(type -t vim)" = 'alias' ] && unalias vim
P.S. O ZSH Shell , toto řešení může vyřešit podobné problémy s jinými aplikacemi CLI, které jsou v podobné situaci inicializace. Například:mc (Půlnoční velitel). Mezitím mc nebude mít žádný takový problém v BASH Shell .