বাশ-এ ইতিহাস ট্র্যাকিং সাময়িকভাবে স্থগিত করার কোনও উপায় আছে, যাতে "ধরণের" ছদ্মবেশী মোডে প্রবেশ করতে পারে? আমি আমার টার্মিনালে এমন স্টাফ প্রবেশ করিয়ে দিচ্ছি যা আমি সংবেদনশীল আর্থিক তথ্য চাই না।
বাশ-এ ইতিহাস ট্র্যাকিং সাময়িকভাবে স্থগিত করার কোনও উপায় আছে, যাতে "ধরণের" ছদ্মবেশী মোডে প্রবেশ করতে পারে? আমি আমার টার্মিনালে এমন স্টাফ প্রবেশ করিয়ে দিচ্ছি যা আমি সংবেদনশীল আর্থিক তথ্য চাই না।
উত্তর:
আপনি যা খুঁজছেন এটি হ'ল:
unset HISTFILE
man bash
এইচআইএসএফআইএল যদি সেট না করা থাকে বা ইতিহাসের ফাইলটি লিখনযোগ্য হয় তবে ইতিহাস সংরক্ষণ করা হয় না।
বিকল্পভাবে, আপনি যদি এটিকে টগল করতে চান এবং তারপরে আবার ফিরে যেতে চান তবে এটি ব্যবহার করা সহজ হতে পারে set
:
set +o history
set -o history
set +o history
এবং set -o history
); আগে পিছে টগল করার জন্য যখন আমি গোপন কাপড় করছি
unset HISTFILE
কাজ করে না. set -/+o history
একটি যাদুমন্ত্র মত কাজ করে! ধন্যবাদ
HISTCONTROL="ignorespace"
ইতিহাস ব্যবহার করে আপনি যে কোনও কমান্ড রেকর্ড করতে চান না সে জন্য ব্যাশ, সেট এবং স্পেসের পূর্বে ব্যবহার করুন । আপনি যদি কোনও পদক্ষেপ নিতে ভুলে গেছেন তবে history -d <number>
নির্দিষ্ট প্রবেশিকা মোছার history -c
জন্য বা পুরো কমান্ডের ইতিহাস সাফ করার জন্যও রয়েছে ।
HISTCONTROL
এতে রয়েছে তা নিশ্চিত করুন ignorespace
। আপনি সম্ভবত আপনার HISTCONTROL=ignorespace
( HISTCONTROL=ignoredups:ignorespace
বা কিছু) যুক্ত করতে চাইবেন ~/.bashrc
। তারপরে স্পেস দিয়ে শুরু হওয়া যে কোনও কমান্ড লাইনটি ইতিহাস থেকে বাদ দেওয়া হবে।
আরেকটি সম্ভাবনা হ'ল নতুন বাশ সেশন শুরু করা যা এর ইতিহাস সংরক্ষণ করে না।
$ bash
$ unset HISTFILE
$ sooper-sekret-command
$ exit
$ #back in the parent shell
যদি আপনার বেশ কয়েকটি কমান্ড সংরক্ষণ করা এড়াতে হয় এবং আপনি পূর্ববর্তী কমান্ডগুলি অ্যাক্সেস করতে তীর ব্যবহার করতে চান তবে:
$ bash # open a new session.
$ unset HISTFILE # avoid recording commands to file.
$ commands not recorded
.
.
$ exit
$
কমান্ডগুলি কীভাবে সংরক্ষণ করা হয় তা নিয়ন্ত্রণ করার জন্য চারটি উপায় (স্তর) রয়েছে।
প্রথম এবং সবচেয়ে সহজ ব্যবহার ignorespace
(বা উপেক্ষা)
$ HISTCONTROL="ignorespace${HISTCONTROL:+:$HISTCONTROL}"
এটি সেই কমান্ডগুলির আগে একটি স্থান ব্যবহারের অনুমতি দেয় যা আপনি মেমরির তালিকায় রেকর্ড করা এড়াতে চান history
। এবং, ফলস্বরূপ, মেমরিতে রেকর্ডকৃত কোনও কমান্ড নেই যা ফাইলটিতে প্রেরণ করা যেতে পারে, তাই তালিকাভুক্ত ফাইলটিতে প্রেরণ করার জন্য একটি কমান্ড এড়ানো হবে $HISFILE
।
ফাইলটিতে কমান্ড রেকর্ডিং এড়ান $HISTFILE
:
$ unset HISTFILE
যদি সেট না করা থাকে, শেলটি প্রস্থান করা হলে কমান্ডের ইতিহাস সংরক্ষণ করা হয় না।
নাল HISTFILE=''
এবং / অথবা HISTFILE=/dev/null
একই প্রভাব কাজ করে। বুঝুন যে কমান্ডগুলি এখনও মেমরি তালিকায় রেকর্ড করা হচ্ছে, history
কমান্ডটি চেষ্টা করুন বা উপরের তীরটি।
সতর্কতা: শেলটি উপস্থিত হওয়ার আগে যদি HISTFILE পুনরায় সেট করা হয় তবে মেমরিতে যা রেকর্ড করা হয়েছে তা সবই ফাইলটিতে লেখা যেতে পারে।
স্মৃতিতে ইতিহাসের তালিকায় নতুন কমান্ড রেকর্ড করা এড়িয়ে চলুন । এবং, মেমরি হিসাবে না থাকায়, ফাইল করতে রেকর্ড করা যায় না।
$ shopt -ou history # or set +o history
shopt -os history
(বা set -o history
) দিয়ে পুনরায় সক্ষম করুন
মেমরির ইতিহাস তালিকা থেকে সমস্ত কমান্ড সরিয়ে দিন:
$ HISTSIZE=0
সমস্ত কমান্ড মুছে যাবে (মেমরি থেকে) এবং তাই ভেরিয়েবলটি কিছু বৈধ সংখ্যাযুক্ত মান হিসাবে সেট না করা অবধি অবশ্যই ফাইলটিতে কোনও কিছু সংরক্ষণ করা যায় না।
man history
এটি আমাদের বেশিরভাগের জন্য কাটা যাচ্ছে না।
HISTIGNORE
, যা subsumes
এর কাজ HISTCONTROL
।
LESS=+'/^ *HISTI' man bash
(তবে এটি "ম্যানুয়াল পৃষ্ঠাগুলি" নয়?) @ নাথানবাশানিজ
ইতিহাস বন্ধ করার একটি সহজ উপায় রয়েছে, সুতরাং .bash_history
ফাইলগুলিতে কমান্ডগুলি সংরক্ষণ করা হবে না ।
আপনাকে কোনও কমান্ডের সামনে সাদা স্থান বা ট্যাব স্পেস রাখতে হবে, যাতে সেই কমান্ডটি ইতিহাসে সংরক্ষণ করা যায় না। উদাহরণ স্বরূপ:
$ ls
print the list of file
$ history
ls
history
$ pwd
print the current working directory
$ history
ls
history
pwd
কমান্ড ইতিহাসে দোকান পাবেন না কারণ এটি সামনে হোয়াইটস্পেস হয়েছে।
export HISTFILE=/dev/null
এটা আমার গোটা পথ। কেবলমাত্র যদি আনসেট করা ইতিহাস / ইতিহাস / হিস্টফ্রন্ট, ইত্যাদি ... কাজ না করে তবে / ডি / নাল এটিকে রপ্তানি আমার পক্ষে সর্বদা কাজ করে।
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
HISTFILE
শুধুমাত্র পরীক্ষা করা হয় যখন ব্যাশ প্রস্থানের, তাই প্রথম পদ্ধতি হিসাবে (যদি আপনি মান ফিরিয়ে কমান্ড সংরক্ষণ করা হবে) কাজ করে না।set +o history
নির্দেশিত হিসাবে কাজ করে।