پرسش و پاسخ شماره ۹۳ - آموزش اسکریپت نویسی
X
تبلیغات
رایتل

آموزش اسکریپت نویسی

آموزش اسکریپت نویسی پوسته گنو-لینوکس

#!/bin/bash

پرسش و پاسخ شماره ۹۳

پرسش و پاسخ شماره ۹۳

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

اگر ترمینالی دارید که رشته‌های 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)