ฉันเข้าใจว่าคุณกำลังใช้ tcsh ดังนั้นสิ่งนี้อาจไม่ทำงาน ... ในกรณีที่ทุกคนกำลังมองหาวิธีทุบตีในการทำเช่นนี้
หากระบบของคุณ (โลคัล / รีโมต) กำลังรัน bash คุณสามารถใช้ตัวแปรสภาวะแวดล้อม "PROMPT_COMMAND" เพื่อตั้งค่าหัวเรื่องหน้าต่าง PROMPT_COMMAND จะถูกประเมินก่อนที่จะมีข้อความแจ้งปรากฏขึ้น
(ใน. bashrc ของคุณ):
export PROMPT_COMMAND='history -a && echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007'
คำอธิบาย:
'history -a'
สิ่งนี้ตั้งค่าเชลล์เพื่อผนวกเข้ากับไฟล์ประวัติทุกครั้งที่คำสั่งเสร็จสมบูรณ์แทนที่จะเป็นเมื่อเชลล์ทั้งหมดเสร็จสมบูรณ์ (นี่ไม่เกี่ยวข้องกับตัวอย่างนี้)
'echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
นี่เป็นการสะท้อนรหัสการหลบหลีก "\ 033] 0;" ซึ่งตั้งค่าชื่อหน้าต่างด้วยตัวแปร "user" @ "host" (ลบการจับคู่ที่ยาวที่สุดจากขวาสุดเป็นอันดับแรก ".") จากนั้นไดเรกทอรีทำงาน (แทนที่ '~' สำหรับ '$ HOME')
เคล็ดลับข้างต้นจะทำงานร่วมกับแอปพลิเคชันเทอร์มินัลใด ๆ ที่รองรับการเปลี่ยนชื่อหน้าต่างแบบไดนามิก (ซึ่ง iTerm, Terminal.app, urxvt, aterm, eTerm. xterm และอื่น ๆ ทั้งหมด) นอกจากนี้คุณยังสามารถดูตัวแปรเชลล์ "TITLEBAR" ในเอกสาร bash มันคล้ายกัน