CentOS | [root @ hostname] більше не відображається?


10

Я чомусь увійшов до свого сервера CentOS6 і на початку кожного рядка, який він зазвичай показує

[root@hostname]# 

Тепер це показує

-bash-4.1#

Що це означає? І як повернути її в норму?


Google: /etc/skel.
кванта

Що echo $PS1показує? Ви suотримали корінь замість su -?
jscott

@jscott Я ввійшов у root, і так, я зробив su. не су - як я з цього вийшов?

ls -a /root/ | egrep '^\.'?
кванта

@Necro Опублікував відповідь, повідомте мені, чи допоможе це.
jscott

Відповіді:


13

Запустіть цю команду у своєму терміналі:

export PS1='[\u@\h \W]\$ '

Якщо ви хочете показати це швидке шоу після перезавантаження, ви можете спробувати це (з су):

echo "export PS1='[\u@\h \W]\$ '" > /etc/profile.d/bash_prompt.sh

більше інформації:

man bash


Це добре працює і вирішує мою проблему, дуже дякую.
Loc_rabbirt

8

У мене було те саме питання, ось як я його вирішив:

Сталося одне з двох речей. Або каталог /rootбуло видалено; або відсутній /пошкоджений .bashrcфайл у /root( .bashrcджерела /etc/bashrc, який встановлює підказку), ви можете виконати наступну команду для відновлення вихідних файлів (які копіюються автоматично при створенні кореневого або будь-якого облікового запису користувача). Запустіть цю команду як користувач, який має проблеми АБО визначте шлях до пункту призначення/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 і працював чудово!
zinon

4

Згідно з вашим коментарем, вам здається, що ви зробили su, щоб перейти на кореневого користувача, а не su -. Останнє -перетворення зробить оболонку оболонкою для входу, без неї ви можете помітити, що ваше кореневе середовище користувача "вимкнено".

Щоб вийти з suсеансу, просто введіть exit Enterабо натисніть ctrl+ d. Потім повторно введіть сеанс, використовуючи su -. Детальнішу інформацію див. На сторінці чоловіка man su.



1

Це означає, що в одному місці ваш командний рядок було змінено вмістом .profile (або системного профілю) .... у другому випадку ваш запит не змінено.

До речі, що таке "нормально". На мою думку, за замовчуванням програми (другий запис) є нормальним. Як і в інших речах, "нормальний" означає різні речі для різних людей. В UNIXland існує дуже багато способів робити такі теги, як цей, дійсно, не має ніякого значення.

Я настійно пропоную вам уважно вивчити сторінку чоловіка або шукати гарну книгу з баш.


Будь ласка, подивіться на мою редакцію.

Моя відповідь все ще стоїть .... будь ласка, отримайте книгу оболонок, якщо ви збираєтесь багато використовувати шкаралупу bash.
mdpc

Гаразд, я отримаю книгу, але, поки я не зроблю це, як повернутись до [root @ hostname] #?

Що б я сказав, це повторно виконати системний профіль, використовуючи "." команда ... припускаючи, що ваш системний профіль надає такий рядок.
mdpc

0

Ви випадково спробували відредагувати файл .bashrc?

Тут розміщена резервна копія:

/etc/skel/.bashrc

Щоб відновити root, виконайте наступне:

cp /etc/skel/.bashrc /root/.bashrc

0

схоже, що всі ці люди не знали, як насправді отримати підказку, щоб перейти НАЗАД до показу [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, коли використовується su - пароль для переходу на root. моє показує лише #

коли це потрібно робити те саме.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.