পূর্ববর্তী কমান্ডটি চালাতে আপ অ্যারো ব্যবহার করা


11

পূর্ববর্তী কমান্ডটি চালানোর জন্য আমাকে আপ-তীর ব্যবহার করার দরকার নেই? ম্যাকের সাহায্যে, আমি যে কমান্ডটি চালাচ্ছি তা পুনরায় চালু করতে আমি আপ-তীর ব্যবহার করতে পারি, তবে এটি আমার বাশ শেলের সাথে কাজ করে বলে মনে হয় না।

আমি 8.04 ব্যবহার করি (কয়েকটি সংকলক সংস্করণের সমস্যার কারণে আমি নতুন বিতরণটি ব্যবহার করতে পারি না)।

যোগ করা হয়েছে

ম্যাকের ভিএমওয়্যার ফিউশন সহ এটি একটি নতুন ইনস্টল হওয়ায় আমি কোনও পরিবর্তন করি নি।


3
ডিফল্ট কনফিগারেশনে, আপ তীর পুরোপুরি কাজ করে: আপনি কি কিছু পরিবর্তন করেছেন?
এনজোটিব

যেমন @ এঞ্জোটিব বলেছে যে বাশ এটি ডিফল্টরূপে করবে, তবে কিছু অন্যান্য, যেমন sh করবে না!
ররি আলসপ

উত্তর:


10

আপনার ইতিহাস সক্ষম হয়েছে তা নিশ্চিত করুন। আপনি চালিয়ে বর্তমান অবস্থা পরীক্ষা করতে পারেন:

set -o

আউটপুটে থাকা উচিত ( history onলাইনটি নোট করুন ):

histexpand      on
history         on
ignoreeof       off

এটি সক্ষম না হলে আপনার চালনা করা দরকার set -o history। এই পরিবর্তনকে অবিচল করতে আপনার এটিকে যুক্ত করতে হবে ~/.bashrc:

set -o history

আপনি যদি পূর্ববর্তী কমান্ডটি চালাতে চান তবে পরবর্তী কমান্ডটিও চালাতে পারেন:

!!

থেকে ব্যাশ ম্যানুয়েল পৃষ্ঠা :

Event Designators
   An event designator is a reference to a command line entry in the history 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 trailing ? 
          may be omitted if string is followed immediately by a newline.
   ^string1^string2^
          Quick  substitution.  Repeat the last command, replacing string1 with
          string2.  Equivalent to ``!!:s/string1/string2/'' (see Modifiers below).
   !#     The entire command line typed so far.

আপনি যদি ব্যাশ ব্যবহার করছেন তবে আপনি ইতিহাসের মাধ্যমে নেভিগেট করার জন্য ডিফল্ট শর্টকাটগুলিও ব্যবহার করতে পারেন:

  • Ctrl+ P: পূর্ববর্তী আদেশ
  • Ctrl+ N: পরবর্তী কমান্ড

    ইতিহাসের পূর্বের ইতিহাস (সিপি) ম্যানিপুলেট করার জন্য আদেশগুলি ইতিহাসের তালিকা থেকে পূর্ববর্তী কমান্ডটি তালিকায় ফিরিয়ে আনুন। পরের-ইতিহাস (সিএন) তালিকার সামনে অগ্রসর হয়ে ইতিহাসের তালিকা থেকে পরবর্তী কমান্ডটি আনুন।


1
আমি সেটআপটি সঠিক কিনা পরীক্ষা করেছি, তবে আপ-তীর কীটি কাজ করে না। তবে, আমি একই ফলাফল পাওয়ার জন্য Ctrl-P / N ব্যবহার করতে পারি। ধন্যবাদ।
প্রসেসিক

@ প্রসেসিক সেক্ষেত্রে আপনি কি বদলেছেন /etc/inputrcনাকি ~/.inputrc? এছাড়াও, আপনি যে টার্মিনালটি ব্যবহার করছেন তাতে উপরে এবং নীচের তীরটি কোন পালানোর ক্রম তৈরি করে? চেক করতে, চালান cat, তারপরে খালি লাইনে, উপরের দিকে এবং ডাউনরোকে চাপুন, তারপরে বিড়ালের বাইরে বেরোনোর ​​জন্য Ctrl + C দিন। এখানে এটি উত্পাদন করে ^[[A^[[B
গিরিহা

@ গিরিহা: আমার কাছে ~ / .inputrc ফাইল নেই এবং আমি / ইত্যাদি / ইনপুটসিআর কিছুই পরিবর্তন করি নি। এবং পালানোর ক্রমের জন্য, আমি স্ক্রিনে কিছুই দেখতে পেলাম না।
প্রসেসিক

@ প্রসেসিক এরপরে মনে হচ্ছে তীরচিহ্নগুলি কখনই টার্মিনালে পৌঁছায় না। সম্ভবত ভিএমওয়্যার ইন্টারফেস এগুলি বা অন্য কিছু ফিল্টার করছে।
গিরিহা

14

নিশ্চিত হয়ে নিন যে আপনি আসলে ব্যাশ ব্যবহার করছেন। একটি সাধারণ গোটচা ব্যবহারকারী বা গোষ্ঠীগুলির (জিইআইআই) useraddপরিবর্তে নতুন ব্যবহারকারী তৈরি করছে adduser। পূর্বের সাথে, ডিফল্ট শেল সেটটি হয় /bin/sh। এটি সেট হয়েছে তা নিশ্চিত করার জন্য চালান chsh( সিএল অ্যাঞ্জেজ শি ইল) /bin/bash


1

টার্মিনালে প্রবেশ করুন:

gedit  ~/.inputrc

তারপরে কপি পেস্ট করুন এবং সংরক্ষণ করুন:

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

এখন থেকে টার্মিনালে আপনি ইনক্রিমেন্টাল অনুসন্ধান করতে পারবেন, পূর্ববর্তী কমান্ডটি সন্ধান করার জন্য আপনাকে প্রথমে দুটি বা তিনটি বর্ণ এবং wardর্ধ্বমুখী তীরটি আপনাকে সেখানে নিয়ে যাবে বলে প্রবেশ করাতে হবে।

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