.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(একটি দ্বিতীয় কোণ বন্ধনী যুক্ত মনে রাখবেন)
হাহামু


1
ভবিষ্যতের জন্য: আপনার ফাইলগুলি ব্যাকআপ করুন যাতে এটি কোনও সমস্যা নয়। আপনি এই দ্রুত অ্যাড-অনগুলির জন্য একটি পৃথক ফাইল তৈরি করা এবং এটি .bashrc এর মতো কোথাও সর্সিং বিবেচনা করতে পারেন। একটি বেসিক সুরক্ষা নেট সরবরাহ করে এবং আপনি সহজেই এটি প্রয়োজনীয় হিসাবে এটি চালু এবং বন্ধ করতে পারেন।
জো

2
আপনি আপনার বর্তমান সেটিংস সংরক্ষণ করতে পারেন তবে এতে যদি আপনার .bashrcকোনও যুক্তি থাকে যা স্থানীয় ভেরিয়েবল যেমন হোস্ট, ব্যবহারকারী ইত্যাদির উপর নির্ভর করে যা সম্ভবত অপ্রাপ্তিযোগ্য। আসল উত্তরটি হল আপনার সাম্প্রতিক ব্যাকআপ থেকে পুনরুদ্ধার। আপনার কাছে কি সাম্প্রতিক ব্যাকআপ আছে?
jw013

উত্তর:


22
  • alias প্যারামিটার ছাড়াই বর্তমানে সংজ্ঞায়িত এলিয়াসগুলির সংজ্ঞাটি আউটপুট করে।
  • declare -f বর্তমানে সংজ্ঞায়িত ফাংশনগুলির সংজ্ঞা আউটপুট করে।
  • export -p বর্তমানে সংজ্ঞায়িত ভেরিয়েবলগুলির সংজ্ঞা আউটপুট করে।

এই সমস্ত কমান্ড আউটপুট সংজ্ঞা পুনঃব্যবহারের জন্য প্রস্তুত, আপনি তাদের আউটপুটগুলি সরাসরি নতুনে পুনর্নির্দেশ করতে পারেন ~/.bashrc

সমস্ত তালিকা অন্যত্র সংজ্ঞায়িত, উদাহরণস্বরূপ উপাদানের একটি অনেক উপস্থিত থাকবে /etc/profileএবং /etc/bash_completion। সুতরাং আপনাকে তালিকাটি ম্যানুয়ালি পরিষ্কার করতে হবে।


3
আমি .bashrcআপনার সিস্টেমের জন্য ডিফল্ট থেকে শুরু করার পরামর্শ দেব । ডেবিয়ানে এটি রয়েছে /etc/skel, বা আপনি যদি পারেন তবে একটি নতুন ব্যবহারকারী তৈরি করতে একটি নতুন ব্যবহারকারী তৈরি করতে পারেন .bashrc
এনজোটিব

1
setএবং declare(যুক্তি ছাড়াই) একবারে এই সমস্ত প্রদর্শন করুন।
রোজিট্রিজেভিয়াচz

@ এঞ্জোটিব, দুর্দান্ত ধারণা। আমি অবাক
হয়েছি

1

typeset -f > .bashrc এটি করা উচিত, আপনার যা কিছু ছিল সেগুলি প্রদান করে এলিয়াস।


functionsকমান্ড উপর আমার জন্য কোন অস্তিত্ব নেই 4.2.10(2)-release। আপনি সম্ভবত বলতে চাইছেন declare -f
ক্রিস ডাউন

আসলে, আমি "টাইপসেট-ফ" বলতে চাইছিলাম
পল টম্বলিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.