কীভাবে জিনিসগুলি সেট আপ করা হয় তা নির্ভর করে, কিন্তু ডিফল্টরূপে, এর মতো কিছু কাজ করা উচিত।
settitle() {
printf "\033k$1\033\\"
}
তারপরে চালান:
settitle NEWTITLE।
দেখুন পর্দা শিরোনাম ডক্স এবং গনুহ পর্দা FAQ আরো বিস্তারিত জানার জন্য।
প্রদত্ত Ctrl+ A Aকেবল পরবর্তী কমান্ড না হওয়া পর্যন্ত এটি পরিবর্তন করছে, সম্ভবত এটি $PS1(সমস্ত শেল), বা $PROMPT_COMMAND/ DEBUG trap(কেবলমাত্র ব্যাশ) বা precmd/ preexec(কেবলমাত্র zsh) দ্বারা সেট করা হচ্ছে ।
আপনি যে কোনো জায়গা যে জন্য হওয়া উচিত \eবা \033সঙ্গে প্রদর্শিত হয় kবা \\মূলত আমার মত পরে, settitleউপরোক্ত উদাহরণে।
হালনাগাদ
তুমি বলেছিলে তোমার একটা রীতি আছে preexec।
এটি এটিকে কেন পরিবর্তন করবেন না:
if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
echo -n "\ek${TITLE:-$CMD}\e\\"
fi
তারপরে আপনি চালিয়ে একটি কাস্টম শিরোনাম সেট করতে পারেন:
TITLE="my title"
এবং দৌড়ে শিরোনামটি আনসেট করুন
TITLE=
পরিবর্তন করতে ভুলবেন না precmdএবং $PS1পাশাপাশি প্রয়োজন হয়।
সরাইয়া
এমনকি আপনি সব টার্মিনাল (যেমন এই প্রসারিত করতে পারে xterm, gnome-terminalহার্ড কোডিং না করে, ইত্যাদি) \ekএবং \e\\।
আমি এটি এইভাবে করি:
terminit()
{
# determine the window title escape sequences
case "$TERM" in
aixterm|dtterm|putty|rxvt|xterm*)
titlestart='\033]0;'
titlefinish='\007'
;;
cygwin)
titlestart='\033];'
titlefinish='\007'
;;
konsole)
titlestart='\033]30;'
titlefinish='\007'
;;
screen*)
# status line
#titlestart='\033_'
#titlefinish='\033\'
# window title
titlestart='\033k'
titlefinish='\033\'
;;
*)
if type tput >/dev/null 2>&1
then
if tput longname >/dev/null 2>&1
then
titlestart="$(tput tsl)"
titlefinish="$(tput fsl)"
fi
else
titlestart=''
titlefinish=''
fi
;;
esac
}
# or put it inside a case $- in *i* guard
if test -t 0; then
terminit
fi
# set the xterm/screen/etc. title
settitle()
{
test -z "${titlestart}" && return 0
printf "${titlestart}$*${titlefinish}"
}
তারপরে আপনি এতে পরিবর্তন করতে preexecপারেন:
if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
settitle "${TITLE:-$CMD}"
fi
Ctrl-A A। এবং প্রম্পট সম্পর্কে, আপনার মানে আমি$PS1যখনই শিরোনামটি পরিবর্তন না করতে চাই তখন আমাকে সংশোধন করতে হবে?