উপসর্গের সাথে চালিত কমান্ডগুলি কেবল স্মরণে রাখতে বাশ ইতিহাস পান!


10

ফাঁকা স্থান (গুলি) এর উপসর্গযুক্ত টার্মিনালে সম্পাদিত আদেশগুলি কমান্ড ইতিহাসের ফাইলটিতে রেকর্ড করা হয় না। কিন্তু বিপরীত পাওয়ার কোনও উপায় আছে কি? ইতিহাসের সাথে কেবল স্থানের উপসর্গযুক্ত রেকর্ড করা উচিত?

উত্তর:


12

আপনি দুটি ভেরিয়েবল সেট করে ডিফল্ট উবুন্টু সেটিংসকে বিপরীত করতে পারেন (HISTIGNORE HISTCONTROL), নীচের মত কমান্ড ব্যবহার করুন:

HISTIGNORE='!( *)'
HISTCONTROL=ignoredups

HISTCONTROL=ignoredupsইতিহাসের আচরণটি কেবলমাত্র সদৃশ লাইনগুলিকে উপেক্ষা করার জন্য এবং কোনও স্থান দিয়ে শুরু করা লাইনগুলিকে উপেক্ষা করার জন্য পরিবর্তন করে। (আপনি HISTCONTROL=যদি নকল রাখতে চান তবে আপনি খালি স্ট্রিংয়ের সাথে HISTCONTROL সেট করতেও পারেন ( তবে) তবে এটি সাধারণত চাইত না))

HISTIGNORE='!( *)'ইতিহাস এমন প্রতিটি লাইনকে অগ্রাহ্য করে যা কোনও স্পেস দিয়ে শুরু হয় না: একটি স্পেস ( *)দিয়ে শুরু হওয়া প্রতিটি লাইনের সাথে মিলবে, তবে শীর্ষস্থানীয়রা !ম্যাচটিকে উপেক্ষা করে , তাই এটি কোনও জায়গার সাথেই শুরু হয় না এমন সমস্ত কিছুর সাথে মেলে। এবং হিস্টিগনোর প্যাটার্নের সাথে মিলে যাওয়া সমস্ত কিছুই ইতিহাস দ্বারা উপেক্ষা করা হবে। (এই উত্তরোত্তর অপশনটির প্রয়োজন আছে যে বাশ extglobঅন ​​চালু shopt -s extglobকরেই চালানো হবে , তবে এটি উবুন্টুতে ডিফল্ট সেটিংস।

আপনি যদি এটিকে স্থায়ী করতে চান তবে উপরের দুটি কমান্ড আপনার মধ্যে রাখতে ভুলবেন না ~/.bashrc


ধন্যবাদ, আমি যা চেয়েছিলাম ঠিক তেমনই .. পরিবর্তনগুলি সংরক্ষণ .bashrcকরেছিলাম .. আমার প্রয়োজন ছিল যে আমি ব্যবহার করি এমন প্রতিটি cdএস, lsএস এবং অন্যান্য দৈনন্দিন কমান্ড রেকর্ডিং থেকে বাশকে আটকাতে পারি; এবং ইতিহাসে আমার এই কয়েকটি কমান্ডের প্রয়োজন, আমি এখন উপসর্গটি ব্যবহার করতে পারি ..
যথাযথ

1
@ রিস্টি যদি আপনি কেবল কিছু তুচ্ছ আদেশ ব্যবহার বাদ দিতে চান তবে আপনি যদি এমন কিছু ব্যবহার করেন তবে এটি আপনার পক্ষে ভাল হতে পারে যা HISTIGNORE='ls*:cd*'ইতিহাসের সাথে শুরু হওয়া প্রতিটি রেখাকে উপেক্ষা করবে lsবা cdআপনি অন্যান্য কমান্ডের সাহায্যে সেই তালিকাটি প্রসারিত করতে পারবেন, কেবল :কমান্ডের মধ্যে একটি স্তর রেখে দিন । তবে ভুলে যাবেন না যে কমান্ডটি পুনরুদ্ধার বৈশিষ্ট্য যা আপনি "আপ তীর কী" দ্বারা অ্যাক্সেস করতে পারবেন তাও এই ইতিহাসটি ব্যবহার করে, তাই আপনি যদি কিছু উপেক্ষা করার জন্য সেট করেন তবে আপনি এই উপেক্ষা করা কমান্ডগুলিকে "" স্মরণ করতে পারবেন না আপ তীর "।
ফ্যালকনার

আমি কোনো, SSH কমান্ড উপেক্ষা করতে চেয়েছিলেন, কিন্তু ভালো কমান্ড ssh-copy-idবা ssh-keygen। ইন HISTIGNORE, আমি ssh\ *আমার অন্যান্য উপেক্ষা করা কমান্ডের সাথে " " অন্তর্ভুক্ত করেছি। স্পেস চর থেকে পালিয়ে যাওয়া বাধ্যতামূলক বলে মনে হয়।
ব্যবহারকারী38537

2

" ফাঁকা স্থান (গুলি) সহ উপস্থাপিত টার্মিনালে সম্পাদিত আদেশগুলি কমান্ড ইতিহাসের ফাইলটিতে রেকর্ড করা হয়নি "

হ্যা তারা.

টার্মিনাল ইতিহাস


1
এটি বাশ ;-) এ একটি সেটিংস
রিনজউইন্ড

কমান্ডটি ফাঁকা জায়গাগুলির সাথে উপস্থাপিত হয়েছে ike লাইক `সুদ আপ্ট-আপডেট আপডেট`
অবিনাশ রাজ

আপনার HISTCONTROL ভেরিয়েবলের মান কী?
গ্লেন জ্যাকম্যান 20'14

@ অবিনাশরাজ: হ্যাঁ, আমাকে কমান্ডটি "এটিকে রেকর্ড করা হবে না" দেখুন, আমি একটি স্থান রেখেছি (কমান্ড লাইন এবং ইতিহাস উভয়ই দৃশ্যমান)। সুতরাং এটি যেভাবে কাজ করে না। হতে পারে আপনি এটি কনফিগার করতে পারেন (HISTCONTROL সহ); তবে এটি ডিফল্টরূপে হয় না।
মিঃ ভাইকাদজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.