Intereting Posts
Как настроить несколько мониторов для работы с правилами тэгов dwm? Может ли плагин / аддон браузера Firefox делать плохие вещи в ваших файлах? AIX – использовать встроенные функции ksh для освобождения памяти, когда fork невозможно ubuntu 16.04 команда chmod не вычитается в rc.local автоматически Автоматическая загрузка электронной почты, затем чтение ее локально Как создать дампы сбоя ядра? Как я могу заполнить свободное место на диске нулями, чтобы мой хост виртуализации мог перестать думать, что он используется? Настройка bash для многих серверов С какой целью perl * будет исключен в yum.conf? есть ли способ избежать процесса в bash, не покидая его? Как отслеживать, какие файлы в настоящее время растут в каталоге Предоставление параметров scp с помощью xargs Настройки системы firewalld не выдерживают перезагрузки Экран: текущий каталог в заголовке (не как заголовок) Системный пользовательский сервис и таймер

как использовать другую оболочку при изменении на root

У меня есть личные настройки в моей пользовательской оболочке, например: .vimrc и .bash_profile и другие вещи.

можно ли переключиться на root с помощью su - в то же время использовать профиль у моего пользователя?

The - сообщает su чтобы указать профиль и среду целевого пользователя. Если вы хотите сохранить свою прежнюю среду (например, среду своего пользователя), просто оставьте ее - и просто используйте su . Конечно, любые компоненты пути, уникальные для пользователя root, тогда не будут присутствовать и должны будут добавляться вручную.

Вы можете вставить это в .bash_profile root или .bashrc зависимости от того, что более удобно и доступно.

 profile=anand # let's assume this is your user name myorigusername=$(who am i | awk {'print $1'}) if [ "${myorigusername}" = "${profile}" ] then cd ~${myorigusername} . ./.vimrc . ./.bash_profile # other stuff here fi 

Если вам нужно какое-либо объяснение, просто спросите, или лучше, проверьте его в своей системе.

su - означает «переключиться на root» и запустить его как оболочку входа »(также su -l и su --login ).

Теперь даже без - переменная $HOME будет установлена ​​и поэтому $HOME/.vimrc будет указывать на root версию.

Нам нужен параметр --preserve-environment .

 su --preserve-environment 

Это запустит корневую оболочку, но оставит $HOME нетронутой и запустит вашу собственную оболочку (например, если вы используете ksh или zsh ) и запустите ваши точечные файлы

например

 $ su --preserve-environment Password: # id uid=0(root) gid=0(root) groups=0(root) # echo $HOME /home/sweh # echo $0 ksh #