বাশ ইতিহাসে টাইপ করা প্রকৃত আদেশগুলি দেখুন


0

ব্যাশের ইতিহাসে টাইপ করা প্রকৃত আদেশগুলি পুনরুদ্ধার করা সম্ভব? যদি কমান্ডটি জড়িত থাকে (উদাহরণস্বরূপ) ইতিহাসের বিকল্প বা সংশোধক, ইতিহাসে যা দেখা যায় তা টাইপ করা কমান্ডের পরিবর্তে ফলাফল কমান্ড।

উদাহরণ দুটি। এই দুটির জন্যই, ধরুন ইতিহাসে 123 আদেশটি রয়েছেls Red*

  1. আমি যদি !123ইতিহাস থেকে কমান্ড লাইন 123 ব্যবহার করতে টাইপ করি এবং এখন আমার ইতিহাসের সর্বশেষতম কমান্ডটি দেখি তবে ls Red*তার চেয়ে আমি দেখতে পাচ্ছি !123

  2. যদি অন্তর্নির্মিত শেল কমান্ডটি ব্যবহার করে fc -s Red=Blue 123ইতিহাসের দিকে তাকান, আমি তার ls Blue*চেয়ে দেখতে পাচ্ছিfc -s Red=Blue 123

একইভাবে, আমি যদি আপ-তীর ব্যবহার করি (পলায়ন ক্রম উত্পাদন করে ^[[A) আমি প্রকৃত টাইপ করা পাঠ্যের চেয়ে প্রসারিত কমান্ড পাই।

এই সমস্ত উদাহরণে ইতিহাসের ফলাফলের প্রবেশটি আমি প্রত্যাশা করি তবে কিছু ক্ষেত্রে এটি আসল টাইপযুক্ত পাঠ্য পুনরুদ্ধার করতে কার্যকর হবে। উদাহরণস্বরূপ, উপরের উদাহরণগুলি বেশ সহজ হলেও আমি সম্ভবত একটি জটিল বিকল্প ব্যবহার করছি যা আমি সম্পাদনা করতে চাই।

আমি বুঝতে পারি যে শেলটি সূচনা করার পরে এটি আরও জটিল হবে কারণ HISTFILEএতে কোনও তথ্য থাকে না। আমি এই ক্ষেত্রে মূল পাঠ্য পুনরুদ্ধার নিয়ে উদ্বিগ্ন নই (যদিও এটি আকর্ষণীয়)।


এটি আপনার প্রশ্নের প্রকৃত উত্তর নয়, তবে - আপনি যদি এমন টার্মিনালে থাকেন যা কপি এবং পেস্ট করতে দেয় (এবং আপনি এখনও লগইন করেছেন; যেমন, আপনি গত সপ্তাহে টাইপ করা কীস্ট্রোকগুলি পুনরুদ্ধার করার চেষ্টা করছেন না), অনুলিপি করা প্রায়শই উপকারী এবং পুরানো কমান্ড আটকান। উদাহরণস্বরূপ, যদি আমি বারবার দুই কমান্ড মধ্যে বিকল্প, আমি টাইপ করতে পারে চান ls Red*, ls Blue*এবং !-2তারপর কপি - !-2এবং এটি বারবার আটকে দিন। আপনি "স্ক্রিন" নামক একটি প্রোগ্রামও দেখতে চাইতে পারেন।
স্কট

উত্তর:


1

আপনি যে প্রশ্নের জিজ্ঞাসা করেছিলেন তার আসল উত্তর হ'ল "না, বাশের মতো বৈশিষ্ট্য নেই"। এক দশক আগে যখন আমি মূল জিএনইউ টিমের মতো একই ভবনে কাজ করছিলাম তখন আমি এটি ভেবেছিলাম এবং তাই আমি গিয়ে তাদের সাথে কথা বললাম এবং স্পষ্টতই, এটি একটি পিআইটিএ যুক্ত করা হবে (সিনট্যাক্সটি বের করা এবং সমস্ত সংরক্ষণ করা সহ) যে অতিরিক্ত ইতিহাস)। অনেক লোক মাঝেমধ্যে উপকৃত হতে পারে তবে এর সমাধানের জন্য অনেক বড় সমস্যা ছিল, সুতরাং এটি ঠিক হওয়ার সম্ভাবনা ছিল না।

অন্যদিকে, আমি প্রায়শই দেখতে পেয়েছি যে এক্স 11 এর কাট-পেস্ট বৈশিষ্ট্যগুলি ব্যবহার করা প্রায় প্রতিটি ক্ষেত্রেই আমার আসল প্রয়োজনগুলি সমাধান করতে পারে। নিম্নলিখিত XResourceজাদুটির আবিষ্কারের মাধ্যমে এটি আরও উন্নত হয়েছে :

*cutToBeginningOfLine:      False

আপনি যদি জানেন যে আপনার XResourceগুলি কোথায় রয়েছে তবে আপনি এই ফাইলটি এই লাইনটি যুক্ত করতে পারেন। যদি আপনি এটি নির্ধারণ করতে না পারেন তবে আপনি কেবল echo '*cutToBeginningOfLine: False'|xrdb -mergeআপনার প্রারম্ভিক ফাইলগুলিতে একটি যুক্ত করতে পারেন (যেমন .profile, তবে আপনার শেলের উপর নির্ভর করে)।

এটি যা করে তা হ'ল বাম মাউস বোতামটিতে ট্রিপল ক্লিক করা শব্দটি আপনি রেখার শেষের দিকে (যেটি সহ Enter) নির্দেশ করছেন সেটিকে অনুলিপি করুন এবং তারপরে আপনি এটি সহজে পেস্ট করতে পারেন। ডিফল্টরূপে (অর্থাত্ এটি ছাড়াই) ট্রিপল ক্লিক প্রম্পট সহ পুরো লাইনটি অনুলিপি করে।


আকর্ষণীয় ইতিহাস, আপনাকে ধন্যবাদ। বৈশিষ্ট্যটি অন্য সাধারণ শেলগুলির কোনওটিতে উপস্থিত রয়েছে কিনা তা আপনি জানতে পেরেছেন?
ভয়ঙ্কর

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