Это хорошо работает и решает мою проблему, большое спасибо.
Loc_rabbirt
8
У меня была такая же проблема, вот как я ее решил:
Произошла одна из двух вещей. Либо каталог /rootбыл удален; или отсутствующий /поврежденный .bashrcфайл в /root( .bashrcисточники /etc/bashrc, который устанавливает приглашение), вы можете выполнить следующую команду, чтобы восстановить исходные файлы (которые автоматически копируются при создании учетной записи root или любой учетной записи пользователя). Запустите эту команду как пользователь, у которого возникли проблемы, ИЛИ определите путь к/home/directory/user/
cp -v /etc/skel/.bash*~/#if logged in as user
cp -v /etc/skel/.bash*/home/user/#run as root
Следует заменить .bash_logout, .bash_profileи .bashrc-. Выездной терминал и снова войти в -bash-4.1#должен исчезнуть!
Спасибо! Я запускаю cp -v /etc/skel/.bash* ~/ как root и работал отлично!
Зинон
4
На ваш комментарий, похоже, вы сделали su, чтобы переключиться на пользователя root, а не su -. Трейлинг -превратит оболочку в оболочку входа в систему, без которой вы можете заметить, что ваша пользовательская среда root отключена.
Чтобы выйти из suсеанса, просто введите exitEnterили нажмите ctrl+ d. Затем снова войдите в сессию, используя su -. Смотрите man-страницу man su, для более подробной информации.
Как мне выйти из этого, чтобы он просто показывал [root @ hostname] # и мою текущую папку и прочее?
1
Проверьте страницу справки и посмотрите, как вы можете настроить свое приглашение.
MDPC
1
Это означает, что в одном месте ваша командная строка была изменена содержимым .profile (или системного профиля) .... во втором случае ваша подсказка не была изменена.
Кстати, что такое "нормально". На мой взгляд, по умолчанию приложение (вторая запись) нормальное. Как и в других вещах, «нормальный» означает разные вещи для разных людей. В UNIXland есть так много способов сделать что-то, и такой тег действительно не имеет смысла.
Я настоятельно рекомендую вам внимательно изучить страницу руководства или найти хорошую книгу по bash.
похоже, что все эти люди не знали, как на самом деле получить приглашение вернуться назад, чтобы показать [root @ domain] ~ #
Мне трудно поверить, что он не получил прямого ответа на свой вопрос. Потому что я ищу тот же самый ответ.
%userx@voided ~>>$cat /etc/skel/.bashrc
# .bashrc# If not running interactively, don't do anything[[ $-!=*i*]]&&return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
не изменяет запрос на указание root, когда для переключения на root используется su - пароль. мой только показывает #
когда это использовать, чтобы сделать то же самое.
/etc/skel
.echo $PS1
показывает? Тыsu
получал рут вместоsu -
?ls -a /root/ | egrep '^\.'
?Ответы:
Запустите эту команду в своем терминале:
export PS1='[\u@\h \W]\$ '
Если вы хотите показать это приглашение после перезагрузки, вы можете попробовать это (с su):
echo "export PS1='[\u@\h \W]\$ '" > /etc/profile.d/bash_prompt.sh
больше информации:
man bash
источник
У меня была такая же проблема, вот как я ее решил:
Произошла одна из двух вещей. Либо каталог
/root
был удален; или отсутствующий/
поврежденный.bashrc
файл в/root
(.bashrc
источники/etc/bashrc
, который устанавливает приглашение), вы можете выполнить следующую команду, чтобы восстановить исходные файлы (которые автоматически копируются при создании учетной записи root или любой учетной записи пользователя). Запустите эту команду как пользователь, у которого возникли проблемы, ИЛИ определите путь к/home/directory/user/
Следует заменить
.bash_logout
,.bash_profile
и.bashrc
-. Выездной терминал и снова войти в-bash-4.1#
должен исчезнуть!источник
cp -v /etc/skel/.bash* ~/
как root и работал отлично!На ваш комментарий, похоже, вы сделали
su
, чтобы переключиться на пользователя root, а неsu -
. Трейлинг-
превратит оболочку в оболочку входа в систему, без которой вы можете заметить, что ваша пользовательская среда root отключена.Чтобы выйти из
su
сеанса, просто введитеexit
Enterили нажмите ctrl+ d. Затем снова войдите в сессию, используяsu -
. Смотрите man-страницуman su
, для более подробной информации.источник
Это означает, что вы используете оболочку bash. Версия 4.1 .
источник
Это означает, что в одном месте ваша командная строка была изменена содержимым .profile (или системного профиля) .... во втором случае ваша подсказка не была изменена.
Кстати, что такое "нормально". На мой взгляд, по умолчанию приложение (вторая запись) нормальное. Как и в других вещах, «нормальный» означает разные вещи для разных людей. В UNIXland есть так много способов сделать что-то, и такой тег действительно не имеет смысла.
Я настоятельно рекомендую вам внимательно изучить страницу руководства или найти хорошую книгу по bash.
источник
Вы случайно не пытались редактировать свой файл .bashrc?
Здесь находится резервная копия:
Для восстановления root запустите это:
источник
похоже, что все эти люди не знали, как на самом деле получить приглашение вернуться назад, чтобы показать [root @ domain] ~ #
Мне трудно поверить, что он не получил прямого ответа на свой вопрос. Потому что я ищу тот же самый ответ.
не изменяет запрос на указание root, когда для переключения на root используется su - пароль. мой только показывает #
когда это использовать, чтобы сделать то же самое.
источник