कभी-कभी, जब मैं rm -rf XYZ
जैसे कमांड चलाता हूं, तो मैं नहीं चाहता कि यह बैश इतिहास में दर्ज किया जाए, क्योंकि मैं गलती से उसी आदेश को reverse-i-search
पर चला सकता हूं। क्या ऐसा होने से रोकने के लिए कोई अच्छा तरीका है?बैश इतिहास में कमांड को दिखाने के लिए कैसे रोकें?
उत्तर
आप ignoreboth
को HISTCONTROL
वातावरण चर (जो आमतौर पर सेट किया जाता है) कर चुके हैं, एक प्रमुख अंतरिक्ष चरित्र के साथ आदेश इतिहास में संग्रहीत नहीं किया जाएगा (साथ ही डुप्लिकेट)।
उदाहरण के लिए:
$ HISTCONTROL=ignoreboth
$ echo test1
$ echo test2
$ history | tail -n2
1015 echo test1
1016 history | tail -n2
यहाँ man bash
कहते है:
HISTCONTROL
को नियंत्रित कैसे आदेशों इतिहास सूची पर सहेजा गया है मूल्यों का पेट अलग की गई सूची। यदि मानों की सूची में
ignorespace
, लाइनें हैं जो स्पेस कैरेक्टर से शुरू होती हैं तो इतिहास सूची में सहेजी नहीं जाती हैं।ignoredups
का मान पिछले इतिहास प्रविष्टि से मेल खाने वाली रेखाओं को सहेजा नहीं जा सकता है।ignoreboth
का मानignorespace
औरignoredups
के लिए लघुरूप है।erasedups
का मान उस पंक्ति को सहेजने से पहले इतिहास सूची से हटाए जाने वाले मौजूदा लाइन से मेल खाने वाली सभी पिछली रेखाओं का कारण बनता है। उपर्युक्त सूची में कोई भी मूल्य अनदेखा नहीं किया जाता है। यदिHISTCONTROL
अनसेट है, या वैध मान शामिल नहीं है, तो खोल पार्सर द्वारा पढ़ी गई सभी पंक्तियां इतिहास सूची पर सहेजी जाती हैं,HISTIGNORE
के मान के अधीन। मल्टी-लाइन कंपाउंड कमांड की दूसरी और बाद की रेखाओं का परीक्षण नहीं किया जाता है, औरHISTCONTROL
के मूल्य के बावजूद इतिहास में जोड़ा जाता है।
यह भी देखें:
- Why is bash not storing commands that start with spaces? यूनिक्स एसई
- Why does bash have a HISTCONTROL=ignorespace option? पर यूनिक्स एसई
आप दो चीजों में से एक कर सकते हैं:
export HISTFILE=/dev/null
या, एक स्थान के साथ आदेश शुरू करते हैं।
उस भयानक –
से पहले एक स्पेस हम में से कुछ सोचते हैं कि अंतरिक्ष द्वारा उपसर्ग किए गए ऑटो-अनदेखा करने वाले आदेश वास्तव में एक बुरा विचार है और इसलिए डिफ़ॉल्ट रूप से 'अनदेखा' सेट नहीं है। – Sorpigal
'HISTFILE' सेट करना इस तरह से * किसी * इतिहास को संग्रहीत करता है, और कमांड को इन-मेमोरी इतिहास में जोड़ने से रोकता नहीं है। – chepner
यहां तक कि HISTIGNORE
का बेहतर उपयोग करें। यह आपको अनदेखा करने के लिए पैटर्न का एक सेट निर्दिष्ट करने की अनुमति देता है (जैसे rm
)। बेहतर (मुझे लगता है) सभी इतिहास को केवल /dev/null
आह हाँ, उस बारे में भूल गए :) –
यह सही उत्तर +1 है – najjarammar
अपने .bashrc/.bash_profile/जहां भी आप चाहते हैं, export HISTIGNORE=' *'
पर रखें। फिर बस एक ही आदेश शुरू करें जिसे आप एक स्थान से अनदेखा करना चाहते हैं।
$ ls # goes in history
$ ls # does not
या
unset HISTFILE
(पिछले जवाब के समान ही कम: निर्यात HISTFILE =/dev/नल)
यह केवल ऑन-डिस्क इतिहास को प्रभावित करता है, न कि स्मृति में इतिहास। – chepner
खोल स्टार्टअप पर, प्रविष्टियों से मैं स्पष्ट रूप से सफाई इतिहास है कि मैं वहां रहना नहीं चाहते हैं। उदाहरण के लिए, मैं नहीं चाहता कि इतिहास में किसी भी rm -rf
यह आघात एक निर्देशिका रात भर संसाधित परिणाम का पूरा हटाने के बाद चाहते हैं (, बस एक ही Arrow-Up
+ Enter
:)
मैं अपने init फ़ाइल में निम्न स्निपेट यहीं के साथ (काम करता है .zshrc
साथ, यह भी .bashrc
साथ काम करना चाहिए)
# ...
HISTFILE=~/.zshhistory
# ...
# remove dangerous entries from the shell history
temp_histfile="/tmp/$$.temp_histfile"
grep -v -P '^rm .*-rf' $HISTFILE > $temp_histfile
mv $temp_histfile $HISTFILE
- 1. बैश इतिहास में डुप्लिकेट को सहेजने से रोकें
- 2. बैश: मैं स्क्रीन सत्र में कमांड इतिहास कैसे प्राप्त करूं?
- 3. बैश: प्रत्येक आदेश को कैसे रोकें
- 4. बैश प्रॉम्प्ट इतिहास समस्या
- 5. कमांड लाइन इतिहास
- 6. वर्तमान बैश सत्र को इतिहास में सहेजें
- 7. बैश कमांड का आकार बदलने के लिए बैश कमांड
- 8. रोकें बैश
- 9. कमांड इतिहास के लिए सिगविन शॉर्टकट
- 10. बैश में कमांड इतिहास के नवीनतम/अंत में कैसे स्क्रॉल करें?
- 11. पंक्ति संख्या के बिना बैश इतिहास
- 12. बैश कमांड?
- 13. नए खोल में बैश कमांड चलाएं और इस कमांड को
- 14. विज़िट के इतिहास को संग्रहीत करने वाले ब्राउज़र को रोकें
- 15. बैश कमांड लाइन के लिए स्निपेट्स?
- 16. जेटी को संदर्भ से संबंधित जानकारी दिखाने से कैसे रोकें
- 17. UIimageview को छिपाने/दिखाने के लिए कैसे?
- 18. वीम के कमांड इतिहास के बराबर Emacs (मेटा-एक्स कमांड में टाइप करने के लिए)
- 19. बैश कमांड केवल कुछ फाइलों को स्थानांतरित करने के लिए?
- 20. बैश में कमांड लाइन तर्क
- 21. बैश में, मैं कमांड को फ़ंक्शन कुंजी कैसे बांधूं?
- 22. बैश कमांड या रूबी
- 23. एक बैश कमांड
- 24. टर्मिनल में 'गिट लॉग' कमांड को कैसे रोकें/रद्द करें?
- 25. मैं आईडीएलई से कमांड इतिहास कैसे प्राप्त करूं?
- 26. कमांड लाइन से जावा प्रोग्राम के निष्पादन को कैसे रोकें?
- 27. PyCharm इंटरैक्टिव कंसोल कमांड इतिहास में खोजें
- 28. पर्सिस्टेंट पायथन कमांड लाइन इतिहास
- 29. पार्स (बैश) टाइम कमांड
- 30. बैश कमांड लॉगर
http://serverfault.com/questions/48769/avoid-to-keep-command पर -इन-इतिहास –