कमांड की संख्या कैसे सेट करें इतिहास याद करते हैं


15

मैं बैश का इस्तेमाल कर रहा हूं। अपने कमांड इतिहास को ब्राउज़ करने के लिए मैं historyकमांड को कॉल कर रहा हूं जो मुझे लगता है कि उसी नाम के ग्नू कार्यक्रम को बुला रहा है। (मुझे नहीं पता कि क्या एक बेहतर बैश विशिष्ट तरीका है)।

मेरे .bashrc में वर्तमान में मेरे द्वारा चलाए export PROMPT_COMMAND='history -a'जा रहे मेरे कई बैश सत्रों से इतिहास को संरक्षित करने के लिए एक पंक्ति है।

अगर मैं इतिहास की बात करूँ तो वर्तमान में मैं केवल 524 प्रविष्टियाँ देखता हूँ। क्या यह विन्यास योग्य है? मैं इसे बहुत बड़ी संख्या 2000 तक बढ़ाना चाहूंगा।

जवाबों:


19

सबसे पहले, history है बैश विशिष्ट तरीके से, कोई भी बेहतर है। historyआदेश एक पार्टी में निर्मित के रूप में आप चलाकर देख सकते हैं

$ type history 
history is a shell builtin

अब, यह याद रखने वाले आदेशों की संख्या को HISTSIZEचर द्वारा नियंत्रित किया जाता है। इसे एक बड़ी संख्या में सेट करने के लिए इस लाइन को अपने साथ जोड़ें .profile(इसके लिए यह इससे बेहतर जगह क्यों है .bashrc, यहां देखें ):

export HISTSIZE=2000

अब से, historyआपके द्वारा चलाए गए अंतिम 2000 आदेशों को वापस कर देगा।


5

हाँ, man bashकहते हैं:

HISTSIZE - कमांड इतिहास में याद रखने के लिए कमांड की संख्या

लेकिन एक Readlineचर है:history-size

इतिहास सूची में सहेजी गई इतिहास प्रविष्टियों की अधिकतम संख्या निर्धारित करें। यदि इसे शून्य पर सेट किया जाता है, तो किसी भी मौजूदा इतिहास प्रविष्टियों को हटा दिया जाता है और कोई नई प्रविष्टि नहीं बचाई जाती है। यदि शून्य से कम मान पर सेट किया जाता है, तो इतिहास प्रविष्टियों की संख्या सीमित नहीं है। डिफ़ॉल्ट रूप से, इतिहास प्रविष्टियों की संख्या सीमित नहीं है।

आप अपने history-sizeसाथ HISTSIZE=1000, bind 'set history-size 1000'या निम्न पंक्ति के साथ सेट कर सकते हैं ~/.inputrc:set history-size 1000

उदाहरण :

HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing

bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints    13  echo $HISTSIZE\n14  bind -v | grep history-size\n15  history

history-sizeके बाद से उपलब्ध bash-4.0-alpha: परिवर्तन


2

HISTSIZEपरिवर्तनशील इतिहास में कितने कमांड रखे जाते हैं यह चर HISTFILESIZEनिर्धारित करता है और यह निर्धारित करता है कि शेल के बाहर निकलते ही रनिंग इतिहास से कितनी कमांड बच जाती हैं।

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