Так, я хотел бы сохранить bash
как оболочка по умолчанию для корня.
Но, я предпочел бы использовать zsh
, моя оболочка, когда я работаю sudo
команды и это sudo
выполняет также .zshrc в корне/.
Для тестирования я создал псевдоним в моем /root/.zshrc
и ~/.zshrc
:
alias test1='echo "Test OK"'
Теперь, когда я работаю sudo su
войти zsh
войти test1
войти
Я получил ожидаемый результат: Test OK
Однако все эти команды приводят к: 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'
Я нашел этот вопрос на askubuntu, но я думаю, что это более связано с этим на Unix & Linux.
Однако ни одно из этих сообщений не помогает мне.
То, чего я хочу достигнуть в финале, должно создать простой псевдоним, который мог заменить sudo
когда я хочу использовать zsh
с его/root/.zshrc файлом и префиксом команда я хочу работать.
Какие-либо подсказки?
Я не zsh пользователь, но sudo zsh -c test1
перестал работать, потому что оболочка не считала Ваш .zshrc файл. Попробуйте это:
sudo zsh -ic test1
, Который должен сказать zsh, что это находится в интерактивной оболочке, так получите .zshrc файл.