CentOS | [root @ nazwa hosta] już się nie wyświetla?

10

Z jakiegoś powodu zalogowałem się do mojego serwera CentOS6 i na początku każdej linii, którą normalnie pokazuje

[root@hostname]# 

Teraz to pokazuje

-bash-4.1#

Co to znaczy? I jak przywrócić to do normy?

Rui F. Ribeiro
źródło
Google: /etc/skel.
kwanty
Co echo $PS1pokazuje Czy suzamiast rootować miałeś root su -?
jscott,
@ jscott Jestem zalogowany do roota i tak, zrobiłem su. nie su - jak mam z tego wyjść?
ls -a /root/ | egrep '^\.'?
kwanty
@Necro Wysłałem odpowiedź, daj mi znać, jeśli to pomoże.
jscott,

Odpowiedzi:

13

Uruchom to polecenie w swoim terminalu:

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

Jeśli chcesz wyświetlić ten monit po ponownym uruchomieniu, możesz wypróbować to (z su):

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

więcej informacji:

man bash

truongvan
źródło
Działa dobrze i rozwiązuje mój problem, dziękuję bardzo.
Loc_rabbirt
8

Miałem ten sam problem, oto jak go rozwiązałem:

Stała się jedna z dwóch rzeczy. Albo katalog /rootzostał usunięty; lub brakujący /uszkodzony .bashrcplik w /root( .bashrcźródła /etc/bashrc, które ustawiają monit), możesz uruchomić następujące polecenie, aby przywrócić oryginalne pliki (które są kopiowane automatycznie po utworzeniu konta root lub dowolnego konta użytkownika). Uruchom to polecenie jako użytkownik mający problemy LUB określ ścieżkę docelową/home/directory/user/

cp -v /etc/skel/.bash* ~/             #if logged in as user
cp -v /etc/skel/.bash* /home/user/    #run as root

Należy wymienić .bash_logout, .bash_profilei .bashrc-. Zacisk wyjścia i zalogować ponownie w -bash-4.1#powinno być teraz nie ma!

nak_attack
źródło
Dziękuję Ci! Działam cp -v /etc/skel/.bash* ~/ jako root i działał idealnie!
zinon
4

Zgodnie z Twoim komentarzem, brzmi to tak, jakbyś zrobił to su, aby przełączyć się na użytkownika root, a nie su -. Trailing -sprawi, że powłoka stanie się powłoką logowania, bez niej możesz zauważyć, że środowisko użytkownika root jest wyłączone.

Aby wyjść z susesji, po prostu wpisz exit Enterlub naciśnij ctrl+ d. Następnie ponownie wprowadź sesję za pomocą su -. Zobacz stronę podręcznika man su, aby uzyskać więcej informacji.

jscott
źródło
3

Oznacza to, że używasz powłoki bash. Wersja 4.1 .

Beznadziejny
źródło
1
Jak się z tego wydostać, aby po prostu wyświetlał [root @ hostname] # i mój bieżący folder i inne rzeczy?
1
Sprawdź stronę podręcznika i zobacz, jak ustawić monit.
mdpc
1

Oznacza to, że w jednym miejscu wiersz polecenia został zmieniony przez zawartość pliku .profile (lub profilu systemowego) .... w drugim przypadku monit nie został zmieniony.

BTW, co jest „normalne”. Moim zdaniem domyślna aplikacja (drugi wpis) jest normalna. Podobnie jak w innych rzeczach „normalny” oznacza różne rzeczy dla różnych ludzi. W UNIXland istnieje wiele sposobów robienia rzeczy, taki tag naprawdę nie ma znaczenia.

Zdecydowanie polecam uważnie przestudiować stronę podręcznika użytkownika lub poszukać dobrej książki na temat bash.

mdpc
źródło
Proszę spojrzeć na moją edycję.
Moja odpowiedź wciąż jest ważna ... proszę, weź książkę o skorupkach, jeśli zamierzasz często używać powłoki bash.
mdpc 24.12.12
Dobra, dostanę książkę, ale dopóki tego nie zrobię, jak powrócę do [root @ nazwa_hosta] #?
Powiedziałbym, że ponownie uruchom profil systemu za pomocą „.” polecenie ... przypuszczenie, że profil systemu wyświetla taki monit.
mdpc
0

Czy przypadkiem próbowałeś edytować plik .bashrc?

Tutaj znajduje się kopia zapasowa:

/etc/skel/.bashrc

Aby przywrócić root, uruchom to:

cp /etc/skel/.bashrc /root/.bashrc
Dom na plaży
źródło
0

wygląda na to, że wszystkie te osoby nie wiedziały, jak uzyskać monit POWRÓT do wyświetlenia [root @ domain] ~ #

Trudno mi uwierzyć, że nie otrzymał prostej odpowiedzi na swoje pytanie. Ponieważ szukam tej samej odpowiedzi.

%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]\$ '

nie zmienia monitu o wskazanie roota, gdy używa się su - hasło, aby przełączyć się na root. mój pokazuje tylko #

kiedy używa się tego samego.

uxserx-bw
źródło