বাশ স্পেস দিয়ে শুরু হওয়া কমান্ডগুলি কেন সংরক্ষণ করছে না?


48

আমি যদি কমান্ডের অনুক্রমটি সম্পাদন করি যেমন:

$ ls
$ grep abc file.txt

এবং তারপরে পূর্ববর্তীটি পেতে উপরে তীর কীটি ব্যবহার করুন, টার্মিনালটি শেষ সেমিডিটি প্রদর্শন করবে (যা grepএখানে রয়েছে)

তবে আমি যদি এরকম কিছু করি:

$ ls
$   grep abc file.txt

grepস্পেস আগে যেখানে হয়, আপ আপ টিপুন ls, না grep

কেন?


উত্তর:


52
echo $HISTCONTROL
ignoreboth

ম্যান বাশ:

HISTCONTROL

ইতিহাস তালিকায় কমান্ডগুলি কীভাবে সংরক্ষণ করা হয় তা নিয়ন্ত্রণ করে মানগুলির একটি কোলন-বিভক্ত তালিকা। মানগুলির তালিকায় যদি অন্তর্ভুক্ত থাকে তবে ignorespaceস্পেস অক্ষর দিয়ে শুরু হওয়া রেখাগুলি ইতিহাসের তালিকায় সংরক্ষণ করা হয় না। ignoredupsপূর্ববর্তী ইতিহাসের এন্ট্রিটির সাথে মিলিত কারণগুলির একটি মান সংরক্ষণ করা যায় না। এর মান ignorebothশর্টহ্যান্ড ignorespaceএবং এর জন্য ignoredups


3
এবং অন্ততপক্ষে সরবরাহ করা ডিফল্টতে HISTCONTROLসেট করা ignorebothআছে । ~/.bashrcdebian
স্টাফেন চেজেলাস

1
ব্যবহারের ক্ষেত্রে কী ignorespace?
সিরো সান্তিলি 新疆 改造 中心 法轮功 六四

1
উবুন্টু 14.04-এ ডিফল্টটি ignorebothহ'ল একরকম বিরক্তিকর।
নিক গ্যামন

6
সিরো, আমি ধরে নিলাম এটি যাতে আপনি কমান্ডটি প্রবেশ করতে পারেন echo "drop database mydb" | mysql -u root -pPasswordএবং এটি ইতিহাসে সংরক্ষণ না করে।
জেরেমি

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