আমার উত্তরটি তিনটি পৃথক সিনট্যাক্সে একটি সাধারণ কমান্ড সরবরাহ করে, যা সমস্ত সমানভাবে কাজ করে, তবে একটি দ্বিতীয়টির চেয়ে কিছুটা খাটো এবং টাইপ করা সহজ। তৃতীয় প্রকরণটি একটি তথাকথিত ওরফে, যার অর্থ আপনি কমান্ডটিকে একটি কাস্টম নাম নির্ধারণ করতে পারেন এবং জটিল জিনিসগুলি মনে না রেখেই এটি সম্পাদন করে কল করতে পারেন।
প্রস্তুতি:
প্রথমে প্যাকেজটি ইনস্টল করুন xsel
যা আপনাকে টার্মিনাল থেকে এক্স ক্লিপবোর্ড অ্যাক্সেস করার অনুমতি দেয়:
sudo apt-get install xsel
কমান্ডের প্রকরণ 1 (সংক্ষিপ্ত):
এর পরে, ক্লিপবোর্ডে পূর্ববর্তী আদেশটি অনুলিপি করতে আপনি নিম্নলিখিত লাইনটি টাইপ করতে পারেন:
xsel -ib <<<!!:q
আপনি যদি দ্বিতীয় সর্বশেষতম কমান্ডটি অনুলিপি করতে চান তবে তৃতীয় সর্বশেষ ব্যবহারের জন্য এবং এর !!
সাথে প্রতিস্থাপন করুন।!-2
!-3
আপনি কী চালাচ্ছেন তা বোঝাতে, কমান্ডটির একটি ছোট বিরতি এখানে:
xsel
এক্স ক্লিপবোর্ডগুলি অ্যাক্সেস করার জন্য একটি কমান্ড-লাইন সরঞ্জাম।
আরও তথ্যের জন্য, এটি অনলাইনে বা রান করে ম্যানপেজটি পড়ুন man xsel
।
-i
পরামিতি বলে xsel
stdin থেকে পড়া (সাধারণত এর মানে কীবোর্ড ইনপুট, কিন্তু আমরা এখানে পুনর্নির্দেশ কিছু করতে যাচ্ছেন)
-b
প্যারামিটার নির্দিষ্ট করে পরিবর্তে ক্লিপবোর্ড এক্স এর "প্রাথমিক" বা "মাধ্যমিক" নির্বাচনগুলি ব্যবহার করতে।
<<<
"হিয়ার স্ট্রিং" নামে একটি বিশেষ বাশ সিনট্যাক্স।
এটি মূলত তার পরে আর্গুমেন্টটি (কেবল একটিই!) প্রসারিত করে এবং কমান্ডের স্ট্যান্ডিনের (স্ট্যান্ডার্ড ইনপুট) স্ট্রিং হিসাবে পুনর্নির্দেশ করে তার আগে / পরে এটি দাঁড়ায়।
!!:q
ব্যাশের ইতিহাস প্রসারের জন্য তাকে "ব্যাং কমান্ড" বলা হয়। এটি আগের কোনও টাইপ করা কমান্ড লাইনের সাথে নিজেকে প্রতিস্থাপন করে।
আরও তথ্যের জন্য, চালিয়ে এটি স্থানীয় ম্যানপেজটি পড়ুন man history
(অনলাইন ম্যানপেজটি সহায়ক নয়)।
!!
পূর্ববর্তী কমান্ড লাইন ঘোরা এবং জন্য একটি প্রতিশব্দ হয় !-1
।
স্পষ্টতই এর !-2
অর্থ দ্বিতীয় শেষ কমান্ড লাইন। বিয়োগ চিহ্নটি ভুলে যাবেন না -
, অন্যথায় এটি আপনার দ্বারা টাইপ করা দ্বিতীয় (3 য় / ...) কমান্ডটি ফিরিয়ে দেবে।
:q
মডিফাই ঠুং কমান্ড ব্যাশ বলে একক উদ্ধৃতির মধ্যে প্রতিকল্পন ঘিরা করার জন্য ( '
) শেল আরো সম্প্রসারণ প্রতিরোধ।
কমান্ডের প্রকরণ 2 (কিছুটা দীর্ঘ):
echo !!:q | xsel -ib
echo
টার্মিনালের স্টাডাউটে এর সমস্ত যুক্তি মুদ্রণের সহজ কাজ রয়েছে।
!!:q
ব্যাশের ইতিহাস প্রসারের জন্য তাকে "ব্যাং কমান্ড" বলা হয়। এটি আগের কোনও টাইপ করা কমান্ড লাইনের সাথে নিজেকে প্রতিস্থাপন করে।
!!
পূর্ববর্তী কমান্ড লাইন ঘোরা এবং জন্য একটি প্রতিশব্দ হয় !-1
। স্পষ্টতই এর !-2
অর্থ দ্বিতীয় শেষ কমান্ড লাইন। বিয়োগ চিহ্নটি ভুলে যাবেন না -
, অন্যথায় এটি আপনার দ্বারা টাইপ করা দ্বিতীয় (3 য় / ...) কমান্ডটি ফিরিয়ে দেবে।
:q
মডিফাই ঠুং কমান্ড ব্যাশ বলে একক উদ্ধৃতির মধ্যে প্রতিকল্পন ঘিরা করার জন্য ( '
) শেল আরো সম্প্রসারণ প্রতিরোধ।
|
একটি পাইপ এটি কমান্ডের টার্মিনাল আউটপুট ("stdout") এর আগে কমান্ডের টার্মিনাল ইনপুট ("stdin") এর পরে পুনর্নির্দেশ করে।
xsel
এক্স ক্লিপবোর্ডগুলি অ্যাক্সেস করার জন্য একটি কমান্ড-লাইন সরঞ্জাম।
আরও তথ্যের জন্য, এটি অনলাইনে বা রান করে ম্যানপেজটি পড়ুন man xsel
।
-i
পরামিতি বলে xsel
stdin থেকে পড়া (সাধারণত এর মানে কীবোর্ড ইনপুট, কিন্তু আমরা এখানে পুনর্নির্দেশ কিছু করতে যাচ্ছেন)
-b
প্যারামিটার নির্দিষ্ট করে পরিবর্তে ক্লিপবোর্ড এক্স এর "প্রাথমিক" বা "মাধ্যমিক" নির্বাচনগুলি ব্যবহার করতে।
কমান্ডের প্রকরণ 3 (উপনাম):
আপনি প্রায়শই ব্যবহার করেন এমন দীর্ঘ বা জটিল কমান্ডগুলি মনে রাখতে না চাইলে বাশ ওরফে একটি দুর্দান্ত জিনিস। আপনি এই কমান্ডটি একটি সাধারণ উপনাম নামকে বরাদ্দ করতে পারেন, যা একই অর্জনের জন্য আপনি দীর্ঘ কমান্ডের পরিবর্তে চালাতে পারেন।
দুর্ভাগ্যক্রমে, ব্যাং কমান্ডগুলি একটি বিশেষ বাশ বৈশিষ্ট্য এবং এলিয়াসগুলি সমাধানের আগে প্রসারিত হওয়ার কারণে আপনি কেবল উপরের বৈকল্পিকগুলির একটিরও উর্ফ করতে পারবেন না কারণ !!
অংশটি কাজ করবে না। যদিও একটি workaround আছে।
উপন্যাসটি সেট করতে আপনার টার্মিনালে নিম্নলিখিত লাইনটি চালান। মনে রাখবেন যে আপনি এর পরিবর্তে কোনও বৈধ বাশ ভেরিয়েবল নাম চয়ন করতে পারেন copylastcommand
:
alias copylastcommand='history -p \!\! | xsel -ib'
এটি কেবলমাত্র আপনার বর্তমান বাশ সেশনের জন্য স্থায়ী, যার অর্থ আপনি টার্মিনাল উইন্ডোটি বন্ধ করার পরে উপনামটি বিলুপ্ত হবে। আপনি আপনার বাশ সেশনের প্রতিটিটিতে আপনার ~/.bashrc
ফাইলের শেষের দিকে এই লাইনটি যুক্ত করে বা আপনার ~/.bash_aliases
যদি একটি ফাইল থাকে তবে এটি স্থির রাখতে পারেন।
আবার, লাইনটির একটি সংক্ষিপ্ত বিরতি:
alias name='command'
বাশে একটি উপকরণ সেট করার সিনট্যাক্স। command
যখনই আপনি চালানো চলবে name
এখন থেকে।
history -p \!\!
পূর্বে সম্পাদিত কমান্ড লাইনটি স্টডআউট (স্ট্যান্ডার্ড আউটপুট) এ আউটপুট দেয়। -p
স্যুইচ ব্যতীত , এটি কেবল মুদ্রণ করবে না বরং আবার কমান্ডটি চালাবে।
দ্রষ্টব্য যে আমাদের !
ব্যাকস্ল্যাশগুলি ( ) সহ bangs ( ) \
এড়িয়ে চলতে হবে, কারণ অন্যথায় বাশ তাদের প্রসারিত করতে পারে যখন আমরা উপনামটি সেট করার চেষ্টা করব, যা সেটিকে ওরফে যেমন থাকতে হবে তেমন কোনও ধারণা নেই।
আবার, আপনার কাছে দ্বিতীয় ঠুং প্রতিস্থাপন দ্বারা [এন] -th সাম্প্রতিক কমান্ড নির্দিষ্ট করতে পারেন -n
, যেমন \!-2
।
|
একটি পাইপ এটি কমান্ডের স্ট্যান্ডার্ড আউটপুট ("stdout") এর আগে কমান্ডের টার্মিনাল স্ট্যান্ডার্ড ("stdin") এর পরে পুনর্নির্দেশ করে।
xsel
এক্স ক্লিপবোর্ডগুলি অ্যাক্সেস করার জন্য একটি কমান্ড-লাইন সরঞ্জাম।
আরও তথ্যের জন্য, এটি অনলাইনে বা রান করে ম্যানপেজটি পড়ুন man xsel
।
-i
পরামিতি বলে xsel
stdin থেকে পড়া (সাধারণত এর মানে কীবোর্ড ইনপুট, কিন্তু আমরা এখানে পুনর্নির্দেশ কিছু করতে যাচ্ছেন)
-b
প্যারামিটার নির্দিষ্ট করে পরিবর্তে ক্লিপবোর্ড এক্স এর "প্রাথমিক" বা "মাধ্যমিক" নির্বাচনগুলি ব্যবহার করতে।
<<<"!!" xsel -ib