.bashrc को अधिलेखित कर दिया गया है लेकिन फिर भी इसे बनाया गया है - इसे कैसे पुनर्प्राप्त किया जा सकता है?


19

आमतौर पर जब मुझे कोई आदेश मिलता है जिसे मैं उपनाम देना चाहता हूं, तो मैं इसे अपने .bashrc की तरह प्रतिध्वनित करता हूं:

[up button pressed to last command, then line edited so that it reads]
$echo "command-i-just-did" >> ~/.bashrc

ऐसा करने का एक बेहतर तरीका हो सकता है। लेकिन फिर भी, अभी-अभी मैंने एक एकल शेवरॉन का उपयोग करके संपूर्ण .rc फ़ाइल को ओवरवोट किया है। हालाँकि, चूंकि .bashrc अभी भी चालू है, यह अभी भी मेरे पुराने उपनामों को स्वीकार कर रहा है (अब के लिए)। तो क्या इसे ठीक करने का कोई तरीका है?


6
echo "set -o noclobber" > ~/.bashrc(एक दूसरे कोण कोष्ठक जोड़ना याद रखें)
hamamu


1
भविष्य के लिए: अपनी फ़ाइलों का बैकअप लें ताकि यह कोई समस्या न हो। आप इन त्वरित ऐड-ऑन के लिए एक अलग फ़ाइल बनाने पर विचार कर सकते हैं और इसे जैसे .bashrc में कहीं और सोर्स कर सकते हैं। एक बुनियादी सुरक्षा जाल प्रदान करता है और आप इसे आसानी से आवश्यकतानुसार चालू और बंद कर सकते हैं।
जो

2
आप अपनी वर्तमान सेटिंग्स को सहेज सकते हैं लेकिन यदि आपकी .bashrc पास इसमें कोई तर्क है जो स्थानीय चर जैसे कि मेजबान, उपयोगकर्ता, आदि पर निर्भर है, जो संभवतः अप्राप्य है। असली उत्तर आपके सबसे हाल के बैकअप से पुनर्स्थापित करना है। आपके पास हाल ही में बैकअप सही है?
jw013

जवाबों:


22
  • alias पैरामीटर के बिना वर्तमान में परिभाषित उपनामों की परिभाषाएं आउटपुट करती हैं।
  • declare -f वर्तमान में परिभाषित कार्यों की परिभाषाएँ।
  • export -p वर्तमान में परिभाषित चर की परिभाषाओं को आउटपुट करता है।

उन सभी आउटपुट आउटपुट परिभाषाओं का पुन: उपयोग करने के लिए तैयार है, आप उनके आउटपुट को सीधे एक नए पर पुनर्निर्देशित कर सकते हैं ~/.bashrc

सभी सूचियों में कई अन्य तत्व शामिल होंगे, उदाहरण के लिए /etc/profileऔर /etc/bash_completion। इसलिए आपको सूची को मैन्युअल रूप से साफ करना होगा।


3
मैं .bashrcआपके सिस्टम के लिए डिफ़ॉल्ट से शुरू करने का सुझाव भी दूंगा । डेबियन में यह है /etc/skel, या आप एक नया उपयोगकर्ता बना सकते हैं, यदि आप एक नया ब्रांड प्राप्त कर सकते हैं .bashrc
19

1
setऔर declare(बिना बहस के) यह सब एक बार में प्रदर्शित करें।
रोज़ज़ेट्रिएवेज़ेज़

@enzotib, महान विचार। मुझे आश्चर्य है कि जहां डिफ़ॉल्ट .bashrc निवास करेगा ...
ixtmixilix

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