आप zsh में टर्मिनलों के बीच इतिहास को कैसे साझा करते हैं?


29

यह कैसे प्राप्त किया जा सकता है ताकि हर कमांड जो दर्ज किया गया है, हर खुले टर्मिनल के इतिहास में दिखाई दे रहा है?

जब कई टर्मिनल खुले होते हैं, तो इतिहास साझा नहीं किया जाता है, यानी आपने एक टर्मिनलों के इतिहास में जो दर्ज किया है, वह दूसरे में नहीं दिखता है। बैश के विकल्प के बारे में सोचें PROMPT_COMMAND="history -a"(जो संकेत देने से पहले इतिहास बचाता है)।


इन्हें भी देखें संबंधित और उन्नत क्यू एंड ए: superuser.com/questions/446594/...
lumbric

जवाबों:


36

निम्नलिखित विकल्प लागू होंगे:

  • निष्पादित होने से पहले हर कमांड को बचाने के लिए (यह बैश के इतिहास -a समाधान से अलग है):

    setopt inc_append_history
    
  • इतिहास फ़ाइल को पढ़ने के लिए हर बार इतिहास को और साथ ही कार्यक्षमता को कहा जाता है inc_append_history:

    setopt share_history
    

ये आपके में सेट किए जा सकते हैं .zshrc फाइल ।

बैश के लिए संबंधित:


4
"SHARE_HISTORY: यह विकल्प दोनों इतिहास फ़ाइल से नए आदेशों को आयात करता है, और आपके टाइप किए गए आदेशों को इतिहास फ़ाइल में संलग्न करने का कारण बनता है (उत्तरार्द्ध INC_APPEND_HISTORY को निर्दिष्ट करने की तरह है, जिसे इस विकल्प को प्रभाव में लाया जाना चाहिए )।" ( मैन्युअल जोर से जोड़ा गया) यानी बस INC_APPEND_HISTORY विकल्प वही करेगा जो आप चाहते हैं।
आर्टफ्लोरोबोट

3
दरअसल, सिर्फ SHARE_HISTORY ऑप्शन वही करेगा जो आप चाहते हैं। वाक्यांश "जिसे बंद किया जाना चाहिए यदि यह विकल्प प्रभाव में है" अनुवाद करता है [[INC_APPEND_HISTORY] को बंद कर दिया जाना चाहिए यदि [SHARE_HISTORY] विकल्प प्रभाव में है "। मैंने इसे Ubuntu 5.1ial पर zsh 5.1.1 पर परीक्षण किया है।
लीनस एवर

1
@opert सही है: setopt share_historyवह है जो वांछित परिणाम को पूरा करेगा। @MJB आप के उत्तर को हटाने के लिए अपना उत्तर संपादित करने को तैयार होंगे setopt inc_append_history? यह वास्तविक उत्तर को अस्पष्ट करता है।
bon

नाम असंवेदनशील हैं और अंडरस्कोर को नजरअंदाज कर दिया जाता है, यदि आपsetopt | grep histप्राप्त करेंगेincappendhistoryऔरsharehistory
पाब्लो ए

4

यदि आप रॉबी रसेल के भयानक ओह्मेज़ का उपयोग करते हैं, तो यह इस और अधिक का ध्यान रखेगा।

देखें https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/hnTD.sh

इसमें शामिल हैं setopt inc_append_history


यह उसका / उसका / उसका है। शेल काम के लिए महत्वपूर्ण है।
सेसम टिम्मरमैन

@CeesTimmerman तय है, धन्यवाद। मेरा मानना ​​है कि यह आम तौर पर संचार के लिए महत्वपूर्ण है। "शेल कार्य के लिए महत्वपूर्ण" से आपका क्या अभिप्राय था?
james_womack

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