CentOS | [root @ hostname] không hiển thị nữa?


10

Vì một số lý do, tôi đã đăng nhập vào máy chủ CentOS6 của mình và ở đầu mỗi dòng nó thường hiển thị

[root@hostname]# 

Bây giờ nó cho thấy

-bash-4.1#

Điều đó có nghĩa là gì? Và làm thế nào để tôi trở lại bình thường?


Google : /etc/skel.
lượng tử

Không echo $PS1thể hiện điều gì? Bạn đã sucó được root thay vì su -?
jscott

@jscott Tôi đã đăng nhập vào root, và vâng tôi đã su. không su - làm thế nào tôi thoát khỏi đó?

ls -a /root/ | egrep '^\.'?
lượng tử

@Necro Đăng một câu trả lời, cho tôi biết nếu điều đó giúp.
jscott

Câu trả lời:


13

Chạy lệnh này trong thiết bị đầu cuối của bạn:

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

Nếu bạn muốn hiển thị lời nhắc này hiển thị sau khi bạn khởi động lại, bạn có thể thử điều này (với su):

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

thêm thông tin:

man bash


Nó hoạt động tốt và giải quyết vấn đề của tôi, cảm ơn bạn rất nhiều.
Loc_rabbirt

8

Tôi đã có cùng một vấn đề, đây là cách tôi giải quyết nó:

Một trong hai điều đã xảy ra. Hoặc thư mục /rootđã bị xóa; hoặc một tệp /bị hỏng bị thiếu .bashrctrong /root( .bashrcnguồn /etc/bashrc, đặt dấu nhắc), bạn có thể chạy lệnh sau để khôi phục các tệp gốc (được sao chép tự động khi root hoặc bất kỳ tài khoản người dùng nào được tạo). Chạy lệnh này khi người dùng gặp sự cố HOẶC xác định đường dẫn đích đến/home/directory/user/

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

Nên thay thế thiết bị đầu cuối .bash_logout, .bash_profile.bashrc- thoát và đăng nhập lại. -bash-4.1#Bây giờ sẽ biến mất!


Cảm ơn bạn! Tôi chạy cp -v /etc/skel/.bash* ~/ như root và làm việc hoàn hảo!
zinon

4

Theo nhận xét của bạn, có vẻ như bạn đã thực hiện một su, để chuyển sang người dùng root, chứ không phải su -. Việc theo dõi -sẽ làm cho shell trở thành shell đăng nhập, nếu không có nó, bạn có thể nhận thấy môi trường người dùng root của bạn bị "tắt".

Để thoát suphiên, chỉ cần gõ exit Enterhoặc nhấn ctrl+ d. Sau đó nhập lại phiên sử dụng su -. Xem trang người đàn ông man su, để biết thêm chi tiết.



1

Điều đó có nghĩa là ở một nơi, dấu nhắc lệnh của bạn đã bị thay đổi bởi nội dung của .profile (hoặc cấu hình hệ thống) .... trong trường hợp thứ hai, dấu nhắc của bạn không bị thay đổi.

BTW, "bình thường" là gì. Theo tôi, mặc định của ứng dụng (mục thứ hai) là bình thường. Như trong những điều khác, "bình thường" có nghĩa là những điều khác nhau cho những người khác nhau. Trong UNIXland có rất nhiều cách để làm việc, một thẻ như thế này thực sự không có ý nghĩa.

Tôi rất muốn đề nghị bạn nghiên cứu kỹ trang nam hoặc tìm một cuốn sách hay về bash.


Hãy nhìn vào chỉnh sửa của tôi.

Câu trả lời của tôi vẫn đứng .... xin vui lòng lấy một cuốn sách vỏ nếu bạn sẽ sử dụng bash shell rất nhiều.
mdpc

Được rồi, tôi sẽ nhận được một cuốn sách, nhưng cho đến khi tôi làm điều đó, làm thế nào để tôi trở lại [root @ hostname] #?

Những gì tôi muốn nói là kiểm tra lại hồ sơ hệ thống bằng cách sử dụng '.' lệnh ... giả định hồ sơ hệ thống của bạn cung cấp một dấu nhắc như vậy.
mdpc

0

Bạn đã từng thử và chỉnh sửa tệp .bashrc của mình chưa?

Có một bản sao lưu nằm ở đây:

/etc/skel/.bashrc

Để khôi phục root chạy này:

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

0

có vẻ như tất cả những người này không biết làm thế nào để thực sự nhận được lời nhắc đi TRỞ LẠI để hiển thị [root @ domain] ~ #

Tôi thấy khó tin rằng anh ta đã không nhận được câu trả lời thẳng cho câu hỏi của mình. Bởi vì tôi đang tìm kiếm câu trả lời rất giống nhau.

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

không thay đổi lời nhắc để chỉ định root khi người ta sử dụng su - password để chuyển sang root. Của tôi chỉ hiển thị #

khi nó sử dụng để làm như vậy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.