क्या मैं प्रत्येक टर्मिनल प्रोफ़ाइल के लिए एक अलग बैश इतिहास फ़ाइल बना सकता हूँ?


18

मैं कई टैब के साथ सूक्ति-टर्मिनल शुरू करने के लिए एक बैश स्क्रिप्ट का उपयोग करता हूं, प्रत्येक टैब एक अलग प्रोफ़ाइल, वर्किंग डायरेक्टरी का उपयोग करके, और कुछ मामलों में टैब के भीतर एक कमांड निष्पादित करता है।

इस स्थिति में, मैं एक विशिष्ट टैब में उपयोग किए गए कमांड को पुनः प्राप्त करने के लिए अप एरो कुंजी के लिए चाहूंगा। क्या यह संभव है?


मुझे डर है, मुझे नहीं लगता कि शेल से प्रोफ़ाइल निर्धारित करने का कोई तरीका है।
Tumbleweed

जवाबों:


16

मुझे लगता है कि आप प्रत्येक प्रोफ़ाइल के लिए एक गनोम-टर्मिनल कस्टम कमांड का उपयोग कर सकते हैं, उदाहरण के लिए

bash -c 'PROFILE=default_profile exec bash'

या

bash -c 'PROFILE=screen_profile exec screen -U'

या इसी के समान।

फिर ~/.bashrc

if [[ -n $PROFILE ]]; then
    HISTFILE=~/.bash_history."$PROFILE"
fi

10

जब तक ttyकमांड आपको अलग-अलग परिणाम देता है (जो कि यह निश्चित रूप से किसी भी मानक यूनिक्स वातावरण में होना चाहिए, हालांकि मैंने कुछ टर्मिनल एमुलेटर के साथ साइबरविन में कभी-कभी दुर्व्यवहार किया है), आप इसका उपयोग चीजों को अलग करने के लिए कर सकते हैं, साथ ही साथ।

मेरे पास कुछ इस तरह है .bashrc:

export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-`

जो ओवरकिल की तरह लग सकता है, लेकिन आपको यह विचार मिलता है। यह इसके आधार पर इसे विभाजित करता है

  1. मैं किस मशीन पर हूँ,
  2. मैं कौन हूँ, और
  3. मैं किस टर्मिनल पर हूं।

और आप और भी जोड़ सकते हैं यदि आप उन चीजों के बारे में सोचते हैं जो आपके लिए प्रासंगिक हैं।

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