টার্মিনালের এক অনুরোধ (কোনও ফাইল ব্যবহার না করে) একে অপরের পরে একাধিক কমান্ড কার্যকর করতে কীভাবে?


22

আমি (1) এন্ড-লাইনের দ্বারা পৃথক পৃথক টাইপযুক্ত কমান্ডগুলির সাথে একটি ফাইল প্রস্তুত করতে পারি, (2) এটি সম্পাদনযোগ্য করে তুলতে পারি, (3) এটি কোনও ফাইল-সিস্টেম ম্যানেজার বা টার্মিনাল থেকে চালাতে পারি।

তবে এটি পুনরাবৃত্তিযোগ্য নয় এবং প্রতিবার-অন্যান্য আদেশের কমান্ডের জন্য হাস্যকর।

আমি কি পরিবর্তে একটি অনুরোধে টার্মিনালে এই আদেশগুলি টাইপ করতে পারি?

টার্মিনালের জন্য আমি শেষ-লাইন চরিত্রটি জানি না - সিটিআরএল, শিফট বা এন্টার সহ আল্ট কাজ করে না।  


1
কমান্ড লাইনে কমান্ডগুলি সেমিকোলন দিয়ে পৃথক করা যায়।
— 1024

উত্তর:


27

আপনি &&বা এর সাথে কমান্ড পৃথক করতে পারেন ;।

  • && কেবলমাত্র পরবর্তী কমান্ডটি চালিত হয় যদি পূর্ববর্তীটি 0 টি স্ট্যাটাস দিয়ে বেরিয়ে আসে (সফল হয়েছিল):

    command1 && command2 && command3
    
  • ; আগের কমান্ডগুলি শূন্য-স্থিতি স্থিতির বাইরে চলে গেলেও:

    command1; command2; command3
    

আপনি নিজের ইচ্ছে মতো এই বিভাজকগুলিকে একত্রিত করতে পারেন।


6
জন্য command1 && command2command2 শুধুমাত্র যদি command1 সফল হয় মৃত্যুদন্ড কার্যকর করা হবে না।
— সৌরাভসি

নিস আলোচনা, প্রাসঙ্গিক / অনুরূপ পোস্ট: askubuntu.com/questions/334994/... stackoverflow.com/questions/13077241/...
— gevang

@ সৌরভ: আমি একটি সম্পাদনা করেছি, ধন্যবাদ, আমি কিছু শিখেছি।
— মিঃ ভাইকাদজি

যদি একত্রিত হয় sudo apt upgradeএবং sudo systemctl reboot, আপনার কি দুটিবার 'সুডো' যুক্ত করতে হবে, বা এটি দ্বিতীয় কমান্ডের জন্য 'স্মরণ' করবে?
— Koen

9

আপনি যদি একক অনুরোধে প্রতিটি কমান্ড নিজস্ব লাইনে টাইপ করতে আগ্রহী হন তবে আপনি নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন:

  • আপনার অনুরোধটি (প্রথম লাইন) দিয়ে শুরু করুন if :; then(এর অর্থ: যদি সত্য হয় তবে তা করুন) এবং টিপুন Enter; আপনার প্রম্পট এখন পরিবর্তন >হবে এবং কিছুই কার্যকর করা হবে না।

  • আপনার আদেশগুলি টাইপ করুন, প্রত্যেকে তারপরে অনুসরণ করুন Enter

  • fi(উপরের ifশর্তের শেষে ) দিয়ে আপনার অনুরোধটি শেষ করুন এবং টিপুন Enter। এখন আপনার সমস্ত কমান্ড প্রদত্ত ক্রমে কার্যকর করা হবে।

উদাহরণ:

radu@Radu: ~ $ if :; then
> echo 'something'
> echo 'something else'
> echo 'List current directory contents:'
> ls
> echo 'Change current directory with root directory:'
> cd
> #finish
> fi
something
something else
List current directory contents:
Backups            Desktop           forma3d  Public      Untitled txt.txt~
bin                Documente         Music    Templates   Videos
configuration.php  examples.desktop  passwd~  tmp~
Downloads          file~             Poze     Ubuntu One
Change current directory with root directory:
radu@Radu: / $

if true; thenযদি ইচ্ছা হয় তবে পড়তে আরও পরিষ্কার হতে পারে। প্রথম নজরে :বিভ্রান্ত হতে পারে ;।
— কিরি

4

প্রথমে {নিজস্ব লাইনে একটি রাখুন।
তারপরে, আপনার আদেশগুলি সন্নিবেশ করুন।
তারপরে }একটি নতুন লাইনে চাপুন এবং টিপুন Enter। আপনার আদেশগুলি কার্যকর করা হবে।

উদাহরণ:

{
echo list
echo of
echo commands
echo to run at once
}

যা মুদ্রণ করবে (একবারে, এর মধ্যে কোনও প্রম্পট ছাড়াই):

list
of
commands
to run at once

পার্শ্ব নোট হিসাবে, { .. }বাশ কমান্ড গ্রুপিং সিনট্যাক্স। এটি প্রায়শই &&বা ||('এবং', এবং 'বা' যথাক্রমে) এর সাথে একত্রে কার্যকর


if :; thenইতিমধ্যে উল্লেখ করা একই কি ? নাকি কিছুটা আলাদা?
— মিঃ ভাইকাদজি

1
@ মিঃভাইকাদজি এটি একই ফলাফল, তবে একটি ভিন্ন পদ্ধতি। if :নাল কমান্ডের উপর একটি পরীক্ষা চালায় যা সর্বদা সত্য ফিরে আসবে। { .. }কমান্ডগুলি একসাথে গ্রুপ করে ফেলুন। আমি ব্যক্তিগতভাবে { .. }মনে রাখা সহজ মনে করি।
— কিরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.