বাশ ইতিহাসে সংরক্ষণ করা থেকে কিছু কমান্ড বাদ দেওয়া


31

মত কমান্ড বাদ দেওয়ার কোন উপায় আছে কি rm -rf, svn revertব্যাশ ইতিহাসে সঞ্চিত পেয়ে হওয়া থেকে? আসলে আমি ভুল করে এগুলি বেশ কয়েকবার জারি করেছিলাম যদিও আমার করার ইচ্ছা নেই, কেবল কারণ আমি দ্রুত কাজ করছি এবং এটি ঘটেছিল। অতএব আমি এ পর্যন্ত যে প্রচুর কাজ হারিয়েছি তার ফলাফল।


উত্তর:


53

আপনি চাইতে পারেন $HISTIGNORE: "ইতিহাসের তালিকায় কোন কমান্ড লাইনগুলি সংরক্ষণ করা উচিত তা নির্ধারণের জন্য ব্যবহৃত প্যাটার্নগুলির একটি কোলন-বিচ্ছিন্ন তালিকা" " আপনার b / .bashrc এর এই লাইনটি কাজটি করা উচিত:

HISTIGNORE='rm *:svn revert*'

এছাড়াও, ইতিহাস থেকে বাদ দেওয়ার জন্য আপনি কোনও কমান্ডের শুরুতে একটি স্থান যুক্ত করতে পারেন। এটি যতক্ষণ $HISTCONTROLথাকে ignorespaceবা ততক্ষণ কাজ করে ignorebothযা আমার ব্যবহার করা কোনও ডিস্ট্রোতে ডিফল্ট।


4
স্থানটি আমি কীভাবে সর্বদা এটি করেছি।
রব

আমি দুর্ঘটনাক্রমে অতিরিক্ত প্রবেশ করতাম y, সর্বোপরি cp(এলিয়াসেড cp -i) শেষ হয়ে যাওয়ার পরে । সুতরাং আমি yএটিকে পৃথক করে দিয়েছি alias y='$(history | awk '"'"'END{if(NF==2 && $2=="y"){print "history -d " $1}}'"'"')'... তবে HISTIGNOREএটি দেখতে আরও ভাল পদ্ধতি। :) ধন্যবাদ।
anishsane

2
শুধু আরো স্পষ্ট হতে: আপনি যোগ করতে পারেন export HISTCONTROL="ignorespace"আপনার টু ~/.bashrcকমান্ড যে শূণ্যস্থান দিয়ে শুরু উপেক্ষা করার।
আইদান ফিল্ডম্যান

@ আইডানফেল্ডম্যান ম্যাকোজে ডিফল্ট নয়
আকোপ্পি

দ্রষ্টব্য: কমান্ডলাইনে টাইপ করার সময় স্থানটি অন্তর্ভুক্ত করা উচিত, হিস্টিগনারে নয়।
গায়ান ওয়েরাকুট্টি

6

যদিও ওপির প্রশ্নের থেকে কিছুটা পৃথক হয়ে গেছে, আমি যখন ইচ্ছাকৃতভাবে বাশ ইতিহাসে কোনও আদেশ সঞ্চার করতে চাই না, তখন আমি তাদের একটি স্পেস দিয়ে উপস্থাপিত করি। উবুন্টু এবং এর রূপগুলিতে কাজ করে, নিশ্চিত না যে এটি সমস্ত সিস্টেমে কাজ করে।


6
উপর নির্ভর করে $HISTCONTROL(আমার উত্তর দেখুন)।
l0b0

@ l0b0 ঠিক আছে, নির্দেশ করার জন্য ধন্যবাদ।
k4rtik

1

আমি যখন আমার ইতিহাসে চাই না এমন কাজগুলি করি তখন আমি সাধারণত আমার বাশ-উদাহরণটিকে হত্যা করি।

kill -9 $$

current বর্তমান প্রক্রিয়াটি উপস্থাপন করে - শ্যাশ থেকে চালানোর সময় ব্যাশ ash আপনি AS BASHPID ব্যবহার করতে পারেন তবে এটি আরও টাইপ করছেন :-)


2
কিছু ব্যাশ সেটিংস (মত এই ) প্রতিটি কমান্ড পর ইতিহাস সংরক্ষণ করা হবে, এবং সে ক্ষেত্রে এই কাজ করবে না।
l0b0

1
আমি এটা করতাম। তবে সেটিং HISTFILE=/dev/nullএকটি ভাল বিকল্প।
anishsane

কেবল HISTFILE=বাশ এবং কেএসএস উভয় ক্ষেত্রেই কাজ করে।
kubanczyk

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