ฉันเปลี่ยนชื่อโฮสต์โดยแก้ไข / etc / hostname และสามารถดูชื่อโฮสต์ใหม่โดยใช้คำสั่งhostname
และhostname -F
แต่เชลล์พรอมต์ยังคงแสดงชื่อโฮสต์เก่าอยู่
นี่คือ Ubuntu 11.0.4 โดยวิธีการ พรอมต์ตั้งอยู่ในของฉัน.bashrc
ซึ่งฉันไม่ได้แก้ไข ออกจากระบบและแม้กระทั่งการรีบูตไม่มีผล
ส่วนที่เกี่ยวข้องของ Ubuntu มาตรฐาน.bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
($ debian_chroot ไม่ได้ตั้งค่าในขณะที่ฉันเข้าสู่ระบบ ... )
ฉันเดาว่าชื่อโฮสต์ถูกเลือกโดยตัวละครพิเศษ \ h
นี่คือการตั้งค่า PS1 ตามที่รายงานในเชลล์:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
และนี่คือสิ่งที่ PS1 แสดง:
username@oldhostname:~$
ฉันทำขั้นตอนซ้ำโดยใช้คำสั่งที่แน่นอนในคำตอบของ Warren ปรากฎว่าชื่อโฮสต์ทำงานจนกว่าจะรีบูต แต่ก็หายไปแม้ว่าจะ/etc/hostname
มีชื่อโฮสต์ใหม่
echo $PS1
แสดง?