আমি control+rআমার কমান্ডের ইতিহাস পুনরাবৃত্তভাবে অনুসন্ধান করতে ব্যবহার করে উপভোগ করছি। আমি এটির সাথে ব্যবহার করতে চাই এমন কয়েকটি ভাল বিকল্প পেয়েছি:
# ignore duplicate commands, ignore commands starting with a space
export HISTCONTROL=erasedups:ignorespace
# keep the last 5000 entries
export HISTSIZE=5000
# append to the history instead of overwriting (good for multiple connections)
shopt -s histappend
আমার পক্ষে একমাত্র সমস্যা হ'ল erasedupsকেবল ক্রমযুক্ত ডুপ্লিকেটগুলি মুছুন - যাতে এই কমান্ডের স্ট্রিং সহ:
ls
cd ~
ls
lsকমান্ড আসলে দুইবার রেকর্ড করা হবে। আমি পর্যায়ক্রমে ডাব্লু / ক্রোন চলমান সম্পর্কে চিন্তা করেছি:
cat .bash_history | sort | uniq > temp.txt
mv temp.txt .bash_history
এটি সদৃশগুলি সরানো অর্জন করবে, তবে দুর্ভাগ্যক্রমে আদেশটি সংরক্ষণ করা হবে না। আমি যদি sortফাইলটি প্রথমে না করি তবে আমি বিশ্বাস করি না যে uniqসঠিকভাবে কাজ করতে পারে।
অর্ডার সংরক্ষণের জন্য আমি কীভাবে আমার .বাশ / ইতিহাসের সদৃশগুলি সরিয়ে ফেলতে পারি?
অতিরিক্ত ক্রেডিট:
কোনও .bash_historyস্ক্রিপ্টের মাধ্যমে ফাইলটি ওভাররাইটিংয়ে কোন সমস্যা আছে ? উদাহরণস্বরূপ, আপনি যদি অ্যাপাচি লগ ফাইলটি সরিয়ে থাকেন তবে আমি মনে করি যে killএটির সাথে ফাইলটির সংযোগ ফ্লাশ করার জন্য আপনাকে কোনও নোহপ / রিসেট সিগন্যাল প্রেরণ করতে হবে। যদি .bash_historyফাইলটির ক্ষেত্রে এটি হয় তবে সম্ভবত আমি psফিল্টারিং স্ক্রিপ্টটি চালানোর আগে কোনও সংযুক্ত সেশন নেই কিনা তা পরীক্ষা করে নিশ্চিত করতে ব্যবহার করতে পারি?
historyকমান্ডের সমস্ত বিকল্পের জন্য আমি ম্যান পৃষ্ঠাটি পেতে ব্যর্থ হচ্ছি । আমি কোথায় খুঁজছি?
ignoredupsপরিবর্তে চেষ্টা করুনerasedupsএবং দেখুন এটি আপনার জন্য কীভাবে কার্যকর হয়।