बाश में अनंत कमांड इतिहास कैसे प्राप्त करें?


54

मैंने सेट किया export HISTSIZE=99999999999999लेकिन क्या यह सबसे अच्छा तरीका है? मुझे नहीं पता कि क्या कोई अतिप्रवाह हो सकता है। मैं कमांड इतिहास की सीमाओं को हटाने के लिए एक परीक्षण किए गए, विश्वसनीय तरीके की तलाश में हूं।


ऐसा कोई निर्माण-तंत्र नहीं है जो मुझे पता हो।

मैं केवल टिप्पणी कर रहा हूँ ताकि जब इसका उत्तर मिले, तो मुझे भी पता चल जाएगा !!

2
debian-administration.org/articles/543 एक बेहतर उत्तर हो सकता है। कम से कम, सुपरसुसर पर समाधान की तुलना में यह अनंत के बड़े मूल्यों को संभालता है। :-)

आप शायद इसे घटाकर 9999 व्यवहार में ला सकते हैं (या 999 भी; मैं 1000 का उपयोग करता हूं)। मैंने कभी भी उपयोगी होने के लिए लगभग 1000 से बड़ा इतिहास नहीं पाया है। यदि मैं इसे स्क्रिप्ट में बनाने के लिए एक कमांड को पुनर्प्राप्त करना चाहता हूं, तो मैं सामान्य रूप से एक हजार कमांड के भीतर अच्छी तरह से करता हूं। अन्यथा, यह जा सकता है और कोई नुकसान नहीं हुआ है।
जोनाथन लेफ़लर

@JonathanLeffler: खान 1300 लाइनें हैं, और यह उतना छोटा है जितना मैं इसे बना सकता हूं। Ctrl-R बहुत उपयोगी है।
l0b0

जवाबों:


69

यह वास्तव में है नहीं प्रलेखित (अच्छी तरह से) और मैं इस पर बैश उपयोगकर्ता planed एक veeery बड़ी संख्या के लिए HISTSIZE सेट करूँ के 99% लगता है।

GNU बैश इतिहास में शक्तिशाली रीडलाइन लाइब्रेरी के माध्यम से नियंत्रित किया जाता है। पुस्तकालय के पास इतिहास के आकार (रीडलाइन शब्दजाल में "स्टिफ़ल) को सीमित करने का विकल्प है या नहीं और बस स्टिफ़ल्ड / अनस्टिफ़ल्ड के लिए रीडलाइन इतिहास सेट करता है। यदि आप उदाहरण के लिए GNU बैश संस्करण 4.2, फ़ाइल वेरिएबल.c, लाइन 4443, फंक्शन void sv_histize (char *) देखते हैं, तो आपको यह टिप्पणी मिलेगी (और इस फंक्शन में पूरे स्टिफ़लिंग / अनस्टिफ्लिंग):

/ * HISTSIZE या HISTFILESIZE चर के बाद क्या करें।
यदि इस HISTSIZE के लिए कोई मान है (और यह संख्यात्मक है), तो इतिहास को देखें। अन्यथा, यदि इस चर के लिए कोई मान नहीं है, तो
इतिहास को अस्थिर करें। यदि नाम HISTFILESIZE है, और इसका मान
संख्यात्मक है, तो इतिहास फ़ाइल को कई
पंक्तियों से अधिक नहीं रखना है । * /

तो यह चाल करना चाहिए:

export HISTSIZE=""

और यह भी (यदि आप अवहेलना महसूस करते हैं):

export HISTSIZE="GOTCHA"

उम्मीद है की यह मदद करेगा।


2
मई
तुक्स

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