ইনপুট সহ একটি কমান্ড খাওয়ানোর মোট কতগুলি উপায় আছে?


9

লিনাক্স সম্পর্কে প্রথম যে জিনিসটি আমি লক্ষ্য করেছি সেগুলি হ'ল কমান্ডে ডেটা ফিড করার বিভিন্ন উপায় ছিল, আমি কয়েকটি জানি তবে মোট কত আছে তা আমি জানি না।

আমি এখন পর্যন্ত যেভাবে জানি:

বংশীধ্বনিতুল্য:

echo -e "zorro\nwurst\nlahmacun\nsozialhilfe" | sort

ফাইল সিগন্যালের সমাপ্তি সহ কীবোর্ড থেকে:

sort
>gurken
>zucker
>braunkohle

ফাইল থেকে:

sort foo

এখানে স্ট্রিং (আসলে এখানে ডকুমেন্ট বলা হয়):

sort << HERE
>wasserkopf
>elternzeit
>schuldeingeständnis
>währungsreform
>alabasterhaut
HERE

এটি কি সব কিছু আছে বা এটি করার আরও উপায় আছে, কেন বিভিন্ন উপায়ে একেবারে, কিছু উপায় অপ্রয়োজনীয়?

উত্তর:


9

কমপক্ষে নিম্নলিখিত:

  1. কমান্ড বিকল্পগুলি: foo --bar

  2. স্ট্যান্ডার্ড ইনপুট: foo | barবাbar < foo

  3. ফাইল (গুলি): foo *.*(অথবা কোডের মাধ্যমে ফাইল (গুলি) খোলার মাধ্যমে foo) †

  4. পরিবেশ রফতানি: export foo=bar; baz

  5. পরিবেশ (রফতানি ব্যতীত): foo=bar bazবাenv foo=bar baz

  6. এখানে ডক: foo << EOF bar EOF

  7. এখানে স্ট্রিং: foo <<< bar

  8. সংকেত kill -SIGUSR1 $procid

  9. সকেট, টিসিপি, মেমরি-ম্যাপযুক্ত ফাইলগুলির মতো আন্তঃ-প্রক্রিয়া যোগাযোগের বিভিন্ন ধরণের

† হ্যাঁ, আমি বুঝতে পারি স্টিডিন একটি ফাইল (বা ফাইলের মতো)। এবং যে এই মত ফাইল মধ্যে পাস সত্যিই বিকল্প পাস করার মত একই


1
আপনি foo < barঅতিরিক্ত বৈকল্পিক হিসাবে যুক্ত করতে পারেন (স্টিডিনের মাধ্যমে ফাইল)
হ্যাগেন ভন ইটজেন

14

শুরু করার জন্য, sort << HEREএবং আরও কিছু এখানে স্ট্রিং নয়। এটি একটি এখানে-নথি। এখানে স্ট্রিং <<<অপারেটর ব্যবহার করে । এটি ব্যাশে (এবং কিছু অন্যান্য শাঁস)।

সাধারণভাবে, দুটি উপায় আছে। একটি হ'ল স্ট্যান্ডার্ড ইনপুট (এবং পুনর্নির্দেশগুলি) এর মাধ্যমে এবং অন্যটি পরামিতিগুলির মাধ্যমে।

  1. স্ট্যান্ডার্ড ইনপুট এবং এর পুনঃনির্দেশগুলি

    এটি স্ট্রিমটি ডিফল্টরূপে টার্মিনালের সাথে সংযুক্ত, যেখানে একটি কমান্ড চালায় এবং এফডি (ফাইল বর্ণনাকারী) এর সাথে যুক্ত থাকে। ১. এটি টার্মিনালে যা টাইপ করা হয় তা খাওয়ানো হয়। যদিও এটি (ইনপুট) পাইপ |ব্যবহার করতে বা এখানে-নথি বা এখানে-স্ট্রিংগুলি ব্যবহার করে পুনঃনির্দেশ করা যেতে পারে । তারপরে ইনপুটটি টার্মিনাল থেকে আসে না, তবে পাইপের পূর্ববর্তী কমান্ডের স্ট্যান্ডার্ড আউটপুটটির সাথে সংযুক্ত থাকে। বিভিন্ন শেলের বিভিন্ন পুনর্নির্দেশ রয়েছে, সুতরাং এই বিভাগের জন্য আপনার শেল ডকুমেন্টেশন পরীক্ষা করা উচিত। দেখুন ইনপুট পুনঃনির্দেশগুলি।

  2. পরামিতি

    আপনার উদাহরণে এটিই sort foo। কোনও প্রোগ্রাম বা কোনও ফাংশন কল করা আপনি এটিকে এক বা একাধিক পরামিতিগুলি পাস করেন। একটি স্থানীয় ফাইল কেবল একটি সম্ভাবনা। প্যারামিটারে একটি ইউআরএল বা যা কিছু থাকতে পারে। এখানে বিকল্পগুলি অন্তহীন are

সংক্ষেপে বলতে গেলে দুটি সাধারণ উপায় রয়েছে:

  • প্রথমটি অ্যাপ্লিকেশনটির অভ্যন্তরীণ যুক্তি থেকে বিমূর্ত হয় এবং ওএস / শেল স্তরে স্ট্যান্ডার্ড ইনপুট পরিচালনা করে,

  • যদিও দ্বিতীয়টিটিতে অ্যাপ্লিকেশনটির অন্তর্নিহিত অংশ রয়েছে, এবং এগুলি ইন্টারফেস হিসাবে কল পরামিতিগুলির উপর ভিত্তি করে সীমাহীন সম্ভাবনাগুলি সরবরাহ করে।

উভয় উপায়েই উত্তরটির কোনও সীমা নেই। যদিও আসল সীমাটি ওএস / শেল এবং অ্যাপ্লিকেশন নিজেই নিয়ে আসে।

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