چطور میتوانم محتویات نوار عنوان ترمینال خود را تنظیم نمایم؟
اگر ترمینالی دارید که رشتههای 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)