منبع اصلی نوشتار زیر در این لینک قرار دارد

تنظیم عنوان ترمینال


چطور می‌توانم محتویات نوار عنوان ترمینال خود را تنظیم نمایم؟

اگر ترمینالی دارید که رشته‌های escape سازگار با xterm را می‌شناسد، و شما می‌خواهید فقط یکبار عنوان آن را تنظیم کنید، می‌توانید از چنین تابعی استفاده کنید:

settitle() { printf '\e]2;%s\a' "$*"; }زیرنویس 1

اگر می‌خواهید نوار عنوان هر بار که فرمانی تایپ می‌کنید به فرمان جاری در حال اجرا تنظیم گردد، آنوقت راه حل آن تقریباً این است:

trap 'printf "\e]2;%s\a" "$(HISTTIMEFORMAT='' history 1)" > /dev/tty' DEBUG

اگر چه، شماره فرمان تاریخچه را نیز در آنجا می‌نویسد، و در پوسته‌های فرعی صریح مانند ‎(cd foo && make)‎ راه‌اندازی نمی‌شود.

یا این مورد برای استفاده از فقط نام و شناسه‌های فرمان ساده جاری:

trap 'printf "\e]2;%s\a" "$BASH_COMMAND" > /dev/tty' DEBUG

برای پوسته‌های موافق Posix که ‎'\e'‎ را به عنوان رشته کاراکتری که به عنوان Escape تفسیر بشود، تشخیص نمی‌دهند شاید ‎'\x1b'‎ به جای آن جایگزین بشود.


CategoryShell

پرسش و پاسخ 93 (آخرین ویرایش ‎2011-04-03 15:10:11‎ توسط adsl-75-61-109-235)


  1. مترجم: سپس عنوان مورد نظر را به صورت شناسه، در فراخوانی تابع به کار ببرید. (1)