Donc, j'aimerais garder bash
comme Shell par défaut pour root.
Mais, je préférerais utiliser zsh
, mon shell, lorsque je lance les commandes Sudo
, et que Sudo
exécute également le fichier .zshrc dans/root.
À des fins de test, j'ai créé un alias dans mes /root/.zshrc
et ~/.zshrc
:
alias test1='echo "Test OK"'
Maintenant, quand je lance Sudo su
enter zsh
enter test1
enter
J'ai eu le résultat attendu: Test OK
Cependant, toutes ces commandes donnent: test1: command not found
Sudo test1
Sudo su -c 'zsh -c test1'
Sudo -E zsh -c 'test1'
Sudo ZDOTDIR=/root/.zshrc test1
Sudo ZDOTDIR=/root/.zshrc zsh -c 'test1'
Sudo ZDOTDIR=/root/.zshrc zsh -c 'source /root/.zshrc && test1'
J'ai trouvé cette question sur askubunt , mais je pense que cela est davantage lié à celui-ci sous Unix et Linux .
Cependant, aucun de ces messages ne m'aide.
Ce que je veux réaliser en final est de créer un alias simple qui pourrait remplacer Sudo
lorsque je souhaite utiliser zsh
avec son fichier /root/.zshrc et préfixer la commande à exécuter.
Des allusions?
Je ne suis pas un utilisateur zsh, mais Sudo zsh -c test1
échoue car le shell n'a pas lu votre fichier .zshrc. Essaye ça:
Sudo zsh -ic test1
Cela devrait indiquer à zsh qu'il s'agit d'un shell interactif, alors sourcez le fichier .zshrc.