จะเปลี่ยนพรอมต์ใน Linux ได้อย่างไร


16

พรอมต์เริ่มต้นจะเป็น

root@monu dev]#

เราสามารถเปลี่ยนส่วน "root @ monu" และตั้งชื่อที่ต้องการได้ไหม?

คำตอบ:


23

นี่คือการเปลี่ยนแปลงโดยการเปลี่ยนตัวแปรสภาพแวดล้อม PS1นี้มีการเปลี่ยนแปลงโดยการเปลี่ยนตัวแปรสภาพแวดล้อม

คุณสามารถดูค่าปัจจุบันของPS1โดย:

root@monu dev# echo $PS1

คุณสามารถดูค่าที่จะเท่ากับ\u@\h \w\$โดยที่:

  • \u : ชื่อผู้ใช้
  • \h : ชื่อโฮสต์
  • \w : ไดเรกทอรีการทำงานปัจจุบัน
  • \$: #สัญลักษณ์สำหรับผู้ใช้รูท, $สัญลักษณ์สำหรับผู้ใช้รายอื่น

หากคุณต้องการให้การเปลี่ยนแปลงเป็นแบบถาวรคุณจะต้องเพิ่มสคริปต์เพื่อเปลี่ยนค่าของPS1อิน~/.bashrcเนื่องจากจะถูกเรียกใช้งานทุกครั้งที่ผู้ใช้ล็อกอิน


1
อย่าลืมใส่ลงในไฟล์ ~ / .bashrc ของคุณด้วย เช่น `PS1 =" myname \\ $ "'
Keith

5
~ / .bashrc ไม่ได้ดำเนินการทุกครั้งที่ผู้ใช้ลงชื่อเข้าใช้“ เมื่อเชลล์โต้ตอบที่ไม่ใช่ล็อกอินเชลล์เริ่มทำงาน bash จะอ่านและดำเนินการคำสั่งจาก ~ / .bashrc หากไฟล์นั้นมีอยู่” - man bash / INVOCATION
ผลิต

คุณสามารถเปลี่ยนได้ ?
tshepang

สำหรับรายละเอียดดูในPROMPTINGส่วนman bashของ
Francesco Turco

ใช่ แต่เป็นอย่างไร คุณสามารถยกตัวอย่างบางส่วนได้หรือไม่?
Peter Mortensen

5

ขึ้นอยู่กับเปลือกของคุณ ในฐานะที่เป็นบันทึกย่อด้านที่สำคัญคุณไม่ควรใช้บัญชีรูทเป็นบัญชีส่วนตัว สร้างผู้ใช้ปกติและตั้งค่าการเข้าถึง sudo โปรดตรวจสอบคู่มือการแจกจ่ายของคุณว่าทำอย่างไร

ใน zsh คุณต้องตั้งค่าตัวแปร PROMPT ดังนี้:

PROMPT='%{ESC[38;5;24m%};%{ESC[0m%} '

zshell เสนอตัวเลือกอื่น ๆ มากมายและนี่เป็นพรอมต์ที่น้อยมาก

ในทุบตีคุณสามารถตั้งค่าด้วยวิธีนี้:

local ROOK="\[\033[38;5;24m\]"
local DEFAULT="\[\033[0;39m\]"
PS1="${ROOK}\$${DEFAULT} "

โปรดทราบว่าในทั้งสองกรณีฉันมีเทอร์มินัลที่เปิดใช้งาน 256 สี หน้าคนจะช่วยได้มาก ( man bashหรือman zsh)


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