बैश इतिहास को बचाएं, नियमित रूप से


9

मैंने इतिहास को फ़ाइल में सहेजने के लिए बैश किया है। यह तब भी करता है जब भी बैश [ठीक से] बाहर निकलता है। जैसा कि कभी-कभी बैश ठीक से बाहर नहीं निकलता है क्योंकि इतिहास खो जाता है।

तो सवाल यह है कि क्या मैं इतिहास को अधिक नियमित रूप से सहेजने के लिए बैश सेट कर सकता हूं?


मैं लिनक्स कर्नेल के साथ डेबियन ग्नू (संस्करण 6, निचोड़) चला रहा हूं।

बैश संस्करण: GNU बैश, संस्करण 4.1.5 (1) -release (i486-pc-linux-gnu)

जवाबों:


8

इसे अपने bash_profile या bashrc पर सहेजें

shopt -s histappend

PROMPT_COMMAND="history -a;$PROMPT_COMMAND"


क्या यह अभी भी एक वैध जवाब है? मेरे सिस्टम में, के shopt -s histappendतहत एक प्रविष्टि है /etc/bash/bashrc। फिर भी, चलने वाले गोले के किसी भी अशुद्ध निकास, अपनी कमांड लाइन के इतिहास को खो देता है।
निकोस एलेक्जेंड्रिस

-1

यह संभव है कि आपका $ HISTFILE जड़ के स्वामित्व में हो। मान लें कि आप अपने लॉगिन शेल के रूप में बैश का उपयोग कर रहे हैं। यहाँ कैसे जाँच करें:

$ [ -z $HISTFILE ] && echo need to set HISTFILE || ls -l $HISTFILE
-rw------- 1 root root 36639 May 21 19:48 /home/joeb/.bash_history

HISTFILE के लिए डिफ़ॉल्ट ~ / .bash_history होना चाहिए, यदि आपको "HISTFILE को सेट करने की आवश्यकता" त्रुटि दिखाई देती है या यदि $ HISTFILE ~ / .bash_history नहीं है, तो आपको ~ / .profile / ~ / .bash_profile या ~ / की जाँच करनी चाहिए। bashrc यह सुनिश्चित करने के लिए कि यह गलत तरीके से सेट या रीसेट नहीं हो रहा है।

आम तौर पर, यह सिर्फ रूट के स्वामित्व में है, इसलिए इसे रीसेट करें:

$ chown joeb.joeb $HISTFILE
$ ll $HISTFILE
-rw------- 1 joeb joeb 36639 May 21 19:48 /home/joeb/.bash_history

फिर लॉगआउट करें।

$ history

फ़ाइल के रूट के स्वामित्व में आने से पहले, फ़ाइल के स्वामित्व को बदलने के बाद दर्ज किए गए आदेशों के बाद दर्ज किए गए आदेशों को दिखाना चाहिए।


3
चूंकि ओपी कहता है कि सामान्य रूप से बैश से बाहर निकलने पर इतिहास बच जाता है, इसलिए उसके मुद्दे का अनुमतियों से कोई लेना-देना नहीं है। शायद आपका जवाब अभी भी किसी ऐसे व्यक्ति के लिए उपयोगी हो सकता है जिसे बैश इतिहास से परेशानी है।
दिमित्री ग्रिगोरीव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.