ฉันจะเปลี่ยนชื่อหน้าต่างเทอร์มินัลใน Mac OS X ได้อย่างไร? ฉันได้เห็นคำถามนี้และสิ่งมหัศจรรย์นี้แต่คิดว่ามันเป็นเพียงคำสั่ง Mac OS X ที่เรียบง่าย
ฉันจะเปลี่ยนชื่อหน้าต่างเทอร์มินัลใน Mac OS X ได้อย่างไร? ฉันได้เห็นคำถามนี้และสิ่งมหัศจรรย์นี้แต่คิดว่ามันเป็นเพียงคำสั่ง Mac OS X ที่เรียบง่าย
คำตอบ:
นี้บทความจะบอกคุณว่า
โดยพื้นฐานแล้วคุณใช้ลำดับอักขระที่สะท้อนไปยังหน้าจอเพื่อแจ้งให้เทอร์มินัลทราบว่าควรแสดงชื่อเรื่องใด
title='My first title'
echo -n -e "\033]0;$title\007"
ในตัวอย่างข้างต้นสิ่งที่ชื่อตัวแปรถูกตั้งค่าเป็นในขณะที่กลายเป็นชื่อของอาคาร แน่นอนคุณสามารถมีชื่อในสตริงที่จะสะท้อนเช่น:
echo -n -e "\033]0;My first title\007"
แต่วิธีแรกทำให้ง่ายขึ้นเล็กน้อยในการใช้และ / หรือขยายในภายหลัง
echo -n -e "\033]0;$1\007"
) ในคำตอบของคุณเพื่อให้ฉันสามารถทำเครื่องหมายคำตอบที่ดีที่สุดได้ไหม
printf "\033]0;%s\007" "$title_variable"
(ตัวเลือกและพฤติกรรมต่าง ๆ ของechoนั้นไม่เหมือนกันในทุกระบบเชลล์หรือแม้แต่ตัวเลือกเชลล์) นอกจากนี้การกำหนดตัวแปรในbashไม่ควรมีช่องว่างรอบเครื่องหมายเท่ากับ
การเพิ่มสิ่งต่อไปนี้ในของคุณ~/.profile
จะได้รับผลเหมือนกัน:
# function for setting terminal titles in OSX
function title {
printf "\033]0;%s\007" "$1"
}
จากนั้นปุ่มลัดtitle 'et voila'
จะจัดเรียงแท็บทั้งหมดของคุณออก
alias title="printf '\033]0;%s\007'"
.
export alias title="printf '\033]0;%s\007'"
sudo nano /etc/bashrc
นอกจากนี้คุณยังสามารถเพิ่มได้โดยใช้ สิ่งนี้ควรเรียกใช้สำหรับผู้ใช้ทั้งหมด รีสตาร์ทเซสชันเทอร์มินัลหรือทำsource /etc/bashrc
เพื่อใช้การเปลี่ยนแปลงของคุณ
รีมิกซ์ของคำตอบของ Dan MgG:
echo -n -e "\033]0;$1\007"
เก็บไว้ในไฟล์ชื่อ / usr / bin / title (ใช้ sudo!) และ chmod เป็น + x จากนั้นคุณสามารถพิมพ์ได้ทุกที่
title 'Trying to Figure This GIT Thing Out'
และคุณจะได้รับชื่อเล็กน้อยที่ดี
(ไวยากรณ์อาจแตกต่างกันไปหากคุณไม่ได้ใช้ OSX ถ้าฉันเข้าใจถูกต้อง)
/usr/local/bin/title
แทน
เป็นอีกทางเลือกหนึ่งสำหรับโซลูชันบรรทัดคำสั่ง sh-based แอป OS X Terminal มีการตั้งค่าให้เปลี่ยนชื่อดังนี้: ภายใต้เมนู Terminal-> shell มีตัวเลือก "แก้ไขชื่อ" ให้เลือกและคุณสามารถเปลี่ยนชื่อได้ อย่างง่ายดาย
บน OS X, ~/Library/Preferences/com.apple.Terminal.plist
การตั้งค่าขั้วจะถูกเก็บไว้ใน
ชื่อของอาคารจะถูกเก็บไว้ในการWindowTitle
ตั้งค่า
ขอบคุณสำหรับสิ่งนี้. ฉันเพิ่งเพิ่มฟังก์ชั่นไปยัง. bashrc ของฉัน:
function stit() {
echo -n -e "\033]0;$1\007"
}
ในใจ "stit" = ทางลัดที่สะดวกสำหรับ "set_title" และตอนนี้เมื่อฉันต้องการตั้งชื่อหน้าต่างของฉันในทันทีฉันพิมพ์:
stit "[new window title]"
คำตอบที่ระบุว่าเป็นคำตอบที่ดีที่สุดใช้งานได้ดี ... นี่คือสิ่งที่ฉันทำ ...
tell application "Terminal"
activate
do script "echo -n -e \"\\033]0;WorkerTab1\\007\"; cd $HOME/folder1"
end tell
สิ่งนี้จะตั้งชื่อของแท็บใหม่เป็น WorkerTab1 จากนั้นทำคำสั่งอื่น ๆ เช่น "cd" เป็นต้น