ฉันจะได้รับทุบตีสีได้อย่างไร


87

ฉันจะได้รับทุบตีให้มีลักษณะเช่นนี้ได้อย่างไร

สี-ทุบตี


daniel451 ทำไมคุณตอบคำถามของคุณเองภายในเวลาเดียวกัน
kva

4
@kva ตอบคำถามของคุณเองในเวลาเดียวกันขณะที่สนับสนุนการโพสต์ในเครือข่าย Stack Exchange
CJ Dennis

ที่เกี่ยวข้อง: askubuntu.com/questions/123268/… . มันอธิบายว่าแต่ละส่วนของพรอมต์สามารถเปลี่ยนสีได้อย่างไร
FreeFireFire

คำตอบ:


128

เปิด~/.bashrcในเครื่องมือแก้ไขข้อความและบรรทัดที่ไม่ใส่ข้อคิดเห็น:

#force_color_prompt=yes

เป็น:

force_color_prompt=yes

บันทึกจากนั้นดำเนินการ source ~/.bashrc


ไม่ตอบคำถาม แต่ฉันชอบผลลัพธ์นี้ดีกว่า (รบกวนน้อยกว่า)
James Hirschorn

ฉันคิดว่ามันจะตอบ ทำไมจะไม่ล่ะ ?
ถึงกระ

นี่คือลักษณะของวิธีการของคุณ:! 2016-10-25 16: 12: 15.png ไม่ตรงกับคำถาม
James Hirschorn

@JamesHirschorn force_color เปิดใช้งานสีเท่านั้นคุณสามารถจัดการว่าสีจะมีลักษณะอย่างไรกับตัวแปร PS1 ดูตัวอย่างของฉันในหนึ่งในสคริปต์ของฉันgithub.com/to-kra/dotfiles/blob/master/scripts/ …ซึ่งทำให้สถานะ git .. คุณสามารถส่งออก PS1 ของคุณเองในโปรไฟล์ผู้ใช้และสร้างสีสันและรูปแบบที่คุณชอบ ขอบคุณ
ถึงกระ

เป็นforce_color_prompt=yesวิธีที่ตั้งใจเปิดใช้งานสีหรือไม่ ให้ฉันบังคับเสียงเหมือนวิธีแก้ปัญหา
Jaakko

60

ฉันคิดวิธีแก้ปัญหานี้:

  • เปิด ~ / .bashrc ในตัวแก้ไข
  • คัดลอกและเพิ่มในตอนท้ายของไฟล์. bashrc:

    PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '
  • บันทึกไฟล์และรีสตาร์ท bashrc:

    source ~/.bashrc

สำหรับรายการสีที่มีทั้งหมดและตัวเลือกเพิ่มเติมให้ค้นหาลิงก์เหล่านี้:


คุณอาจต้องการดูพรอมต์ของเหลว มันเป็นข้อมูลที่พรอมต์เล็กน้อย google.com/…
Scott Goodgame


เลือกสีที่สมบูรณ์แบบ!
เด็กซน

GUI ออนไลน์, Easy Bash PS1 Generator
Jim Fred

3

รุ่นที่เป็น 'ทั่วไป' อีกเล็กน้อย - ควรทำงานกับสภาพแวดล้อมที่หลากหลาย:
(ขึ้นอยู่กับ terminfo)

แทรกสิ่งนี้ใน$HOME/.bashrc:

function fgtab {
  echo "tput setf/setb - Foreground/Background table"
  for f in {0..7}; do
    for b in {0..7}; do
      echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
    done
    echo -e "$(tput sgr 0)"
  done
}

# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]\$\[${crst}\] "

source ~/.bashrcจากนั้นดำเนินการ

หลังจากนั้นfgtabจะแสดงตารางสีพร้อมตัวเลข ตัวเลขเหล่านี้มีไว้สำหรับtput setf nและtput setb nที่ 'n' เป็นหมายเลข 'f' หมายถึง 'เบื้องหน้า' และ 'b' ย่อมาจากสี 'พื้นหลัง'

tput sgr 0 จะรีเซ็ตสีพื้นหน้าและสีพื้นหลังเป็นค่าเริ่มต้น

และอย่างที่คุณเห็นการเปลี่ยนสีที่ใช้สำหรับพรอมต์นั้นง่ายมาก (เพียงแก้ไขหมายเลขเดียวกัน$HOME/.bashrcตามที่คุณต้องการ)

เพิ่ม$(tput setb n)ใน$cnameถ้าคุณต้องการให้พรอมต์ทั้งหมดพร้อมพื้นหลัง n



ibm.com/developerworks/linux/library/l-tip-promptการกระทืบหมายเลขโดยตรงเพิ่มเติม
Hannu

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