पथ के बिना निर्देशिका नाम के लिए स्वचालित रूप से टर्मिनल शीर्षक कैसे सेट करें


11

वर्तमान में, मेरा बैश टर्मिनल / टैब शीर्षक उस निर्देशिका के आधार पर सेट किया गया है, जिसमें मैं उदाहरण के लिए:

bob@bobscomputer:~/i/had/some/great/pie/yesterday

यदि मेरे पास कई टैब खुले हैं, तो यह बहुत उपयोगी नहीं है। उदाहरण के लिए, यदि मेरे पास उपरोक्त dir के 4 टैब खुले हैं, तो मैं देख रहा हूँ

bob@bobscomputer:~/i/had...

4 बार।

मैं अपने सभी टर्मिनल टाइटल को रास्ते के अंतिम भाग के लिए स्वचालित रूप से सेट करना चाहूंगा। ऊपर के उदाहरण में, मैं शीर्षक होना चाहूंगा

yesterday

जाहिर है, निर्देशिका बदलने पर शीर्षक बदलना चाहिए। मैं अपने प्रॉम्प्ट को बदले बिना ऐसा करना चाहूंगा, इसलिए प्रॉम्प्ट और टर्मिनल शीर्षक अलग होना चाहिए।

क्या इसे करने का कोई तरीका है?


जवाबों:


11

आप अपने PS1 चर को संशोधित किए बिना इसे क्यों करना चाहते हैं? यह करने का सही तरीका है।

यदि आप निम्नलिखित चलाते हैं, तो आपको वह मिलेगा जो आप चाहते हैं:

export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

यह केवल डिफ़ॉल्ट प्रॉम्प्ट ले रहा है:

export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

... और के \u@\h: \wसाथ बदल रहा है \W

आप किसी भी कमांड के साथ वही काम कर सकते हैं जो सही एस्केप कोड को ग्रहण करता है:

echo -en "\e]0;${PWD##*/}\a"

... लेकिन फिर आप इसे PS1 (सबसे अच्छा तरीका) का उपयोग करने से रोकने के लिए लगातार लड़ रहे होंगे।


2
धन्यवाद - मुझे एहसास नहीं था PS1 शीर्षक और शीघ्र स्वतंत्र रूप से सेट करता है। मेरे .bashrc में, xterm *। Rxvt *) के मामले में "$ TERM" के तहत, मैंने PS1 = "[\ e] 0; $ {debian_chroot: + ($ debian_chroot:} \ W \ a] $ PS1", और सेट किया; यह वही है जो मैं चाहता था।
मेंढक

: यह सवाल समझा क्या वह सब PS1 gobbledygook साधन का एक अच्छा काम करता है askubuntu.com/questions/404341/...
congusbongus

3

हाँ। Prepend: \[\e]0;\W\a\]अपने PS1 के लिए। यह आपके प्रॉम्प्ट की उपस्थिति को नहीं बदलेगा, लेकिन स्वचालित रूप से आपके टर्मिनल टैब शीर्षक को वर्तमान कार्यशील निर्देशिका के बेसनेम में सेट कर देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.