जब आप पुन: उपयोग करते हैं और पिछले कमांड को संपादित करते हैं, तो कुछ उदाहरण स्पष्ट रूप से नहीं होने पर बैश के कुछ उदाहरण कमांड इतिहास को बदल देते हैं। मैं खोज रहा हूं और खोज रहा हूं लेकिन ऐसा कुछ भी नहीं पा रहा है जो कहता है कि इतिहास में आदेशों को फिर से संशोधित करने और उन्हें संपादित करने से कैसे रोका जाए।
इस तरह के सवाल हैं , लेकिन यह कहना प्रतीत होता है कि संपादित किए जाने वाले इतिहास के साथ कैसे सामना किया जाए। मैं केवल हाल ही में बाश का एक उदाहरण भर में आया हूं, जब आप एक कमांड का पुन: उपयोग करते हुए इतिहास को संपादित करते हैं - मेरे द्वारा उपयोग किए गए सभी पिछले बैश गोले (जहां तक मैंने देखा है) कॉन्फ़िगर किया गया है कि जब आप पुन: उपयोग न करें तो इतिहास को न बदलें और एक आदेश संपादित करें। (शायद मैंने पिछले 15 वर्षों से अपने शेल इतिहास पर उचित ध्यान नहीं दिया है ...)
तो यह शायद सबसे अच्छा सवाल है: क्या मैं इतिहास को संशोधित करने के लिए कभी भी बता सकता हूं - और यदि हां, तो कैसे?
set revert-all-at-newline on
आपके द्वारा लिंक किए गए प्रश्न में आपकी समस्या का समाधान नहीं है? क्या आप दिखा सकते हैं कि समस्या को कैसे पुन: पेश करें? ध्यान दें कि आप zsh
जो चाहते हैं उसके साथ अधिक इनलाइन व्यवहार के लिए भी उपयोग कर सकते हैं।
history -p
क्या ऐसा कुछ है जो मुझे हर उस कमांड के लिए करना होगा जिसे मैं पुनः उपयोग करना चाहता हूं - क्या यह सही है? यदि हां, तो यह काफी नहीं है कि मैं क्या देख रहा हूं। जैसा कि मैंने उल्लेख किया है, मैंने ऐसे उदाहरणों का उपयोग किया है जो कभी भी इतिहास को संशोधित नहीं करते हैं जब एक कमांड का पुन: उपयोग और संपादन किया जाता है।
revert-all-at-newline
कि मुझे इसकी आवश्यकता है। यदि मैं एक कमांड संपादित करता हूं और इसे रद्द करने के लिए CTRL-C दबाता हूं, तो मैं यह भी नहीं चाहता कि यह इतिहास को प्रभावित करे। मैंने पहले कभी भी बैश को कॉन्फ़िगर करने के लिए इतिहास को संशोधित नहीं करने के लिए कहा था, जो इस कारण का एक हिस्सा है कि मैं भ्रमित हूं कि कभी-कभी एक ताजा इंस्टॉल एक तरह से और कभी-कभी दूसरे तरीके से व्यवहार करता है। वैसे, ऐसे उदाहरण पर, जो इतिहास को कमांड के पुन: उपयोग पर संपादित नहीं करता है, यह bind -V | grep revert
दर्शाता है कि revert-all-at-newline
'बंद' पर सेट है।
bash
। यह सब रीडलाइन के बारे में है। readline
लाइब्रेरी के अलग-अलग कार्यान्वयन हैं , और इसकी सेटिंग्स का अपना सेट (उनमें से एक बहुत) और इसकी अपनी कॉन्फ़िगरेशन फ़ाइल भी है। मुझे यकीन नहीं है कि अगर यह एक सेटिंग या बस एक कार्यान्वयन अंतर है, लेकिन आपको रीडलाइन-संबंधित प्रलेखन में खोज करनी चाहिए, न कि बैश।
history -p
इतिहास फ़ाइल को प्रभावित किए बिना इतिहास विस्तार करने के लिए उपयोग कर सकते हैं । आपhistory -s
निष्पादन के बिना इतिहास के समान और आकर्षक बनाने के लिए कर सकते हैं । आपHISTIGNORE='start of a command I never want in history.*:command2.*'
कुछ आदेशों को इतिहास से बाहर रखने के लिए कर सकते हैं ।