CentOS | [root @ hostname] ไม่แสดงอีกต่อไปหรือ


10

ด้วยเหตุผลบางอย่างฉันเข้าสู่เซิร์ฟเวอร์ CentOS6 ของฉันและที่จุดเริ่มต้นของทุกบรรทัดมันแสดงให้เห็นตามปกติ

[root@hostname]# 

ตอนนี้มันแสดงให้เห็น

-bash-4.1#

สิ่งนี้หมายความว่า? และฉันจะทำให้มันกลับมาเป็นปกติได้อย่างไร?


/etc/skelGoogle:
quanta

สิ่งที่ไม่echo $PS1แสดง? คุณsuรูทแทนที่จะเป็นsu -เหรอ?
jscott

@jscott ฉันลงชื่อเข้าใช้รูทและใช่ฉันทำสำเร็จ ไม่ใช่ซู - ฉันจะออกไปได้อย่างไร

ls -a /root/ | egrep '^\.'?
quanta

@Necro โพสต์คำตอบแจ้งให้เราทราบว่ามันช่วยได้ไหม
jscott

คำตอบ:


13

เรียกใช้คำสั่งนี้ในเทอร์มินัลของคุณ:

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

หากคุณต้องการแสดงพรอมต์นี้หลังจากรีบูตคุณสามารถลอง (ด้วย su):

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* ~/ เป็นคนรูทและทำงานอย่างสมบูรณ์แบบ!
zinon

4

ต่อความคิดเห็นของคุณดูเหมือนคุณได้ทำเพื่อสลับไปยังผู้ใช้รากมากกว่าsu su -การติดตาม-จะทำให้เชลล์เป็นเชลล์การเข้าสู่ระบบโดยที่คุณอาจสังเกตเห็นว่าสภาพแวดล้อมผู้ใช้รูทของคุณเป็น "ปิด"

เพื่อออกจากsuเซสชั่นเพียงแค่พิมพ์exit Enterหรือกด+ctrl จากนั้นกลับเข้าสู่เซสชั่นโดยใช้d su -ดูหน้าคนman suสำหรับรายละเอียดเพิ่มเติม


3

1
ฉันจะออกจากสิ่งนี้ได้อย่างไรจึงจะแสดง [root @ hostname] # และโฟลเดอร์และรายการปัจจุบันของฉัน

1
ตรวจสอบหน้า man และดูว่าคุณสามารถตั้งค่าพรอมต์ของคุณได้อย่างไร
mdpc

1

หมายความว่าในครั้งเดียวที่พรอมต์คำสั่งของคุณถูกเปลี่ยนโดยเนื้อหาของ. profile (หรือโปรไฟล์ระบบ) .... ในกรณีที่สองพรอมต์ของคุณจะไม่เปลี่ยนแปลง

BTW คืออะไร "ปกติ" ในความคิดของฉันค่าเริ่มต้นของแอปพลิเคชัน (รายการที่สอง) เป็นเรื่องปกติ ในสิ่งอื่น ๆ "ปกติ" หมายถึงสิ่งที่แตกต่างกับคนอื่น ใน UNIXland มีวิธีการทำสิ่งต่าง ๆ มากมายแท็กเช่นนี้ไม่มีความหมายเลย

ฉันขอแนะนำให้คุณศึกษาหน้าคู่มือหรือค้นหาหนังสือดี ๆ เกี่ยวกับทุบตี


โปรดดูที่การแก้ไขของฉัน

คำตอบของฉันยังคงอยู่ .... โปรดรับหนังสือเชลล์ถ้าคุณจะใช้เปลือก bash มาก ๆ
mdpc

ตกลงฉันจะได้รับหนังสือ แต่จนกว่าฉันจะทำอย่างนั้นฉันจะเปลี่ยนกลับไปเป็น [root @ hostname] # ได้อย่างไร

สิ่งที่ฉันจะพูดคือเปิดใช้งานโปรไฟล์ระบบอีกครั้งโดยใช้ '.' คำสั่ง ... สมมติว่าโปรไฟล์ระบบของคุณมีพรอมต์ดังกล่าว
mdpc

0

คุณได้ลองและแก้ไขไฟล์. bashrc ของคุณไหม?

มีสำเนาสำรองอยู่ที่นี่:

/etc/skel/.bashrc

ในการกู้คืนรูทให้รัน:

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

ไม่เปลี่ยนพรอมต์เพื่อระบุว่ารูทเมื่อใช้ su - รหัสผ่านเพื่อเปลี่ยนเป็นรูท เหมืองแสดงเพียง #

เมื่อมันใช้ในการทำเช่นเดียวกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.