আইপিথন শেল ফর কমান্ড হিস্ট্রি


24

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

সুতরাং আপনি যদি কিছু দীর্ঘ কমান্ড করেন যেমন scp -r -P 8000 -l user server.com:~/dir/to/copy ./অনুসরণ করে বিভিন্ন অন্যান্য কমান্ড। আপনি যদি টাইপ করা scpএবং টিপতে শুরু করেন, বাশ পুরো ইতিহাসের মধ্যে কেবল স্ক্রোল করার পরিবর্তে প্রদর্শিত কমান্ডটি প্রদর্শন করবে।

বাশের জন্য কি এর মতো কোনও এক্সটেনশন রয়েছে? বা এমন কোনও শেল রয়েছে যা এই ধরণের বৈশিষ্ট্য সরবরাহ করে?

উত্তর:


26

বাশের সেই বৈশিষ্ট্যটিও রয়েছে, তবে এটি ডিফল্টরূপে সক্ষম হয় না। আপনি এটি এটিকে স্টিক দিয়ে কার্সার আপ / ডাউন বেঁধে রাখতে পারেন ~/.inputrc:

"\e[A": history-search-backward
"\e[B": history-search-forward

পরিবর্তে আমি এটি Ctrl+ উপর / নিচে বাঁধাই পছন্দ করি :

"\e[1;5A": history-search-backward
"\e[1;5B": history-search-forward

সম্পাদনা: সংরক্ষণ ctrl+leftএবং ctrl+rightপুরো কথায় পিছনে এগিয়ে যাওয়ার জন্য, এই লাইনগুলি ~/.inputrcফাইলে অন্তর্ভুক্ত করুন:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

এই টিপটি ব্যবহার করে, এখন আমি পরের / পূর্ববর্তী শব্দের কাছে যেতে টার্মিনালে Ctrl + বাম / ডান ব্যবহার করতে পারি না, যা আমার পুরো উদ্দেশ্যকে নষ্ট করে দেয়। ওয়ার্কারআউন্ডে থাকতে পারে?
জেটাহ

@zetah আমি উত্তর শব্দ সরানোর জন্য আমার কার্যসংক্রান্ত মধ্যে সম্পাদিত
Wim

1
সমস্ত ডিফল্ট সংরক্ষণ করার জন্য আপনি $include /etc/inputrcপ্রথম লাইনেও যুক্ত করতে পারেন ।
তুলিও ক্যাসাগ্রান্ডে

9

Ctrl+ টিপুন Rএবং কয়েকটি অক্ষর টাইপ করার চেষ্টা করুন । এটি বিপরীত ক্রমেও কাজ করে।


6

এবং বাশে চমত্কার ইতিহাস সম্প্রসারণ শর্টকাটগুলি ভুলে যাবেন না। 1

আমি ম্যানপেজ থেকে কিছু অংশ পোস্ট করছি, যদি আপনি আপনার বাহুতে উলকি আঁকেন না (বা সেগুলি মুখস্ত করে রেখেছেন)।

   Event Designators  
       An event designator is a reference to a command line entry in the  his
       tory list.

       !      Start  a  history substitution, except when followed by a blank,
              newline, carriage return, = or ( (when the extglob shell  option
              is enabled using the shopt builtin).
       !n     Refer to command line n.
       !-n    Refer to the current command line minus n.
       !!     Refer to the previous command.  This is a synonym for `!-1'.
       !string
              Refer to the most recent command starting with string.
       !?string[?]
              Refer  to the most recent command containing string.  The trail‐
              ing ? may be omitted if string is followed immediately by a new‐
              line.
       ^string1^string2^
              Quick  substitution.  Repeat the last command, replacing string1
              with string2.  Equivalent to ``!!:s/string1/string2/'' (see Mod‐
              ifiers below).
       !#     The entire command line typed so far.

আমি প্রায়শই পূর্ববর্তী কমান্ডের শেষ 'শব্দ' উল্লেখ করার ক্ষমতাটি ব্যবহার করি। যেমন,

mkdir /foo/shmoo/adir.horribilus.foo
cp file1 file2 file3 file4 !$ 
ls -l !$

এখানে উভয় ক্ষেত্রেই !$মিল রয়েছে /foo/shmoo/adir.horribilus.foo


1 ... যা csh থেকে নেওয়া হয়েছিল। ব্যাশের বৈশিষ্ট্য চুরির সুযোগ হ্রাস করতে ব্যাশ ম্যান পৃষ্ঠাটি বলে

   The shell supports a history expansion feature that is similar  to  the
   history  expansion in csh.  

সুতরাং, এটি "অনুরূপ"। এর যে কোনওটি ভেঙে যেতে পারে cshবা হতে পারে tcsh। বা আপনি যে কোনও সিএস বংশধর ব্যবহার করছেন না কারণ এটি এতটা দুর্দান্ত নয় bash


0

উপরে উপরে উল্লিখিত @ ak2 এর মতো একটি বিকল্প রয়েছে , তবে আপনাকে একটি নতুন .inputrc ফাইল তৈরি করতে হবে না।

পরিবর্তে, আপনার কাছে সুডো অনুমতি থাকলে, আপনি এটি / etc / ইনপুটসিআর ফাইলটিতে সক্ষম করতে পারেন। এই ফাইলটিতে ইতিহাস অনুসন্ধান বৈশিষ্ট্য সহ অন্তত 18.04 এর জন্য বিভিন্ন কীবোর্ড সেটিংস রয়েছে। / ইত্যাদি / ইনপুটকিআর থেকে উদ্ধৃতিটি হ'ল:

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

একটি সুডো ফাইল সম্পাদক (উদাহরণস্বরূপ, do sudo vim) ব্যবহার করে নীচের দুটি লাইনগুলি কেবলমাত্র সঙ্কোচিত করুন এবং একটি নতুন টার্মিনাল সেশনে ইতিহাস অনুসন্ধান বৈশিষ্ট্য থাকবে (সমস্ত ব্যবহারকারীর জন্য)।

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