শেষ কমান্ড থেকে যুক্তি দিয়ে একটি কমান্ড চালান


34

কমান্ডগুলি চলাকালীন, কখনও কখনও আপনাকে শেষ কমান্ড থেকে যুক্তি সহ একটি কমান্ড চালানো দরকার। আপনি কিভাবে এই কাজ করতে পারেন?

অবশ্যই, নির্দেশক তীরচিহ্নগুলি এবং ব্যবহার ছাড়া Delকী-সমূহ: ... DelDelDel... Del<new_command>

উত্তর:


45

উদাহরণস্বরূপ, আপনি যদি এই আদেশটি চালান:

mkdir long_path_here/new_dir

সম্ভবত আপনি সম্প্রতি তৈরি ডিরেক্টরিতে যেতে চান। আপনি পরবর্তী "শর্টকাটগুলি" ব্যবহার করে এটি করতে পারেন:

  • cd Esc.- টাইপ করুন cdএবং তারপরে প্রেসের Escপরে .(একই সময়ে নয়)। পূর্ববর্তী কমান্ডটির কোনও যুক্তি না থাকলে আপনি পূর্ববর্তী কমান্ডটি পেয়ে যাবেন।
  • cd !*- এই ক্ষেত্রে আপনি প্রিভিউওস কমান্ড থেকে সমস্ত যুক্তি পাবেন get পূর্ববর্তী কমান্ডটিতে কোনও যুক্তি না থাকলে আপনি কিছুই পাবেন না।
  • cd Alt+ .- টাইপ করুন cdএবং প্রেসের পরে Altএবং .(একই সময়ে) প্রকৃতপক্ষে, এইভাবে ব্যবহার করে এবং টিপে চালিয়ে যাওয়া .(মুক্তি ছাড়াই Alt), আপনি ইতিহাস থেকে প্রতিটি কমান্ডের জন্য শেষ যুক্তি পাবেন। যদি কোনও কমান্ডের কোনও যুক্তি না থাকে তবে আপনি কমান্ডটি পেয়ে যাবেন।

সাধারণভাবে: <command> Esc.বা <command> !*বা <command> Alt+ + .


বাহ, আপনি আমাকে কয়েক ঘন্টা বাঁচিয়ে দিয়েছিলেন আমি পরের কয়েক বছরে নষ্ট হয়ে যেতে পারি
প্রণবক

32

আপনি যদি পূর্ববর্তী কমান্ড থেকে সমস্ত আর্গুমেন্ট বা কেবল সর্বশেষ যুক্তি চান তবে কয়েকটি শর্টকাট রয়েছে।

  • সমস্ত যুক্তি জন্য: <command> !*
  • শুধুমাত্র শেষ যুক্তির জন্য: <command> !$

উদাহরণ:

ls foo/ bar/
ls !* # Gives the results of ls foo/ bar/

ls foo/ bar/
ls !$ # Gives the results of ls bar/

আপনি যদি পূর্ববর্তী কমান্ড থেকে যুক্তিগুলির তালিকা থেকে একটি যুক্তি চান, আপনি ব্যবহার করতে পারেন <command> !!:<argNumber>

উদাহরণ:

ls foo/ bar/ baz/
ls !!:2 # Gives the results of ls bar/
ls foo/ bar/ baz/
ls !!:1 # Gives the results of ls foo/

2
আপনার কেবলমাত্র !একক আরগ সংস্করণে একটি প্রয়োজন , যেমন !:2,। ডিফল্ট ব্যাশ ধরে নিচ্ছি।
belacqua

3
আপনি !^এর জায়গায় ব্যবহার করতে পারেন !:1
ধানের ল্যান্ডাউ

7

উল্লেখ করা !*এবং !$একটি ভাল জিনিস, তবে যখন আপনাকে সামান্য সম্পাদনা করার দরকার পড়তে পঠন শর্টকাট সাহায্যে আসে!

উদাহরণস্বরূপ, অগণিতগুলির পরিবর্তে ... DelDelDel... Delআপনি কেবল টিপতে পারেন Ctrl-a(লাইনের শুরুতে লাফিয়ে) Alt+d(শব্দের শেষে মুছুন)

আরও তথ্যের জন্য man readlineএবং অনুসন্ধান করুন Default key bindings


4

নিতে nআপনার পূর্ববর্তী কমান্ড ধরণ থেকে তম যুক্তি Alt+ + n+ + Alt_। উদাহরণস্বরূপ, পরে:

$ echo 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10

echoএরপরে টাইপ করা Alt2Alt_আপনাকে পরবর্তী প্রম্পটে এটি দেবে:

$ echo 2

আপনি আঘাতের পরে "স্ক্রিনশট" Alt2হ'ল:

(arg: 2) echo

পূর্ববর্তী কমান্ডগুলির একের পর এক যুক্তি Alt_পেতে আপনি একাধিকবার পুনরাবৃত্তি করতে পারেন n

আর একটি দরকারী ধারণা হ'ল ওরফে সংজ্ঞা দেওয়া r="fc -s"। তারপরে, আপনি কমান্ড বিকল্পগুলি করতে পারেন:

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