কমান্ডের প্রশ্নের উত্তর প্রস্তুত করুন


14

ধরা যাক আমি একটি শেল স্ক্রিপ্ট লিখতে চাই যা কেবল একটি কমান্ড কার্যকর করে। তবে এই কমান্ডটি খারাপভাবে ডিজাইন করা হয়েছে। এটি কোনও কমান্ড লাইন বিকল্প সরবরাহ করে না; পরিবর্তে এটি কিছু প্রশ্ন জিজ্ঞাসা করে এবং ব্যবহারকারী ইনপুটটির জন্য অপেক্ষা করে।

স্ক্রিপ্টে এই ইনপুটটি প্রস্তুত করার কোনও উপায় আছে, যাতে প্রশ্নগুলির উত্তর স্বয়ংক্রিয়ভাবে দেওয়া হয়?

উত্তর:


16

কমান্ডটি খুব পিক না হলে এ জাতীয় কিছু নিয়ে কাজ করা উচিত:

command > /dev/null << EOF
<answer 1>
<answer 2>
<answer 3>
EOF

এটির জন্য আপনার সঠিক উত্তরগুলি আগেই জেনে রাখা দরকার।


মোড়ক স্ক্রিপ্ট ডিজাইনের জন্য আপনি উপরের উত্তরটি ব্যবহার করতে পারেন। নতুন স্ক্রিপ্টের প্যারামিটারগুলি শুনতে হবে এবং উপরের পদ্ধতিটি সহ পুরানো কমান্ডটি কল করা উচিত।
ওয়াল্টার এ

এখানে একটি নথি হিসাবেও পরিচিত, আরও তথ্যের জন্য আপনি এখানে উইকিপিডিয়া নথির সংজ্ঞাটি
OldTimer

15

প্রত্যাশা তা করতে পারে। প্রত্যাশিত ওয়েবসাইট থেকে :

প্রত্যাশাই ইন্টারেক্টিভ অ্যাপ্লিকেশন যেমন স্বয়ংক্রিয়ভাবে টেলনেট, এফটিপি, পাসডাব্লুড, এফএসসি, রোলগিন, টিপ ইত্যাদি স্বয়ংক্রিয়করণের জন্য একটি সরঞ্জাম Exp প্রত্যাশা এই একই অ্যাপ্লিকেশনগুলির পরীক্ষার জন্যও দরকারী ... ["]

এটি অটোেক্সেপেক্টের মতো অনেক সাহায্য নিয়ে আসে ।

আবার প্রত্যাশিত ওয়েবসাইট থেকে,

অটোএক্সপেক্ট আপনাকে অন্য প্রোগ্রামের সাথে ইন্টারঅ্যাক্ট করতে দেখে এবং একটি প্রত্যাশা স্ক্রিপ্ট তৈরি করে যা আপনার মিথস্ক্রিয়াগুলিকে পুনরুত্পাদন করে। সরলরেখা স্ক্রিপ্টগুলির জন্য, অটোেক্সপ্যাক্ট হাতে হাতে স্ক্রিপ্টগুলি লেখার জন্য যথেষ্ট সময় সাশ্রয় করে।


আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ। যেহেতু আমার চাহিদা খুব কম, প্রত্যাশা আমার ক্ষেত্রে ওভারকিল। Bjorns উত্তর পুরোপুরি আমার প্রয়োজন অনুসারে। তবে আমি আপনার উত্তর অন্যদের জন্য রাখার পরামর্শ দেব যা আরও জটিল সমাধানের প্রয়োজন।
tmuecksch

+1 কারণ আমি জানতাম না অটেক্সেক্সেক্টের অস্তিত্ব ছিল এবং আমি বুঝতে পেরেছিলাম যে প্রত্যাশা শেখার বক্ররেখা আমার পক্ষে বিরক্ত হওয়ার পক্ষে খুব খাড়া। আমি অন্য চেহারা নিতে হবে।
জো

7

যদি আপনার লিপিটি কোনও প্রম্পটের উত্তর প্রত্যাশা করে, বা আপনি একই উত্তর দিতে পারেন এমন কয়েকটি অনুরোধ জানানো হয় yes:

NAME
       yes - output a string repeatedly until killed

SYNOPSIS
       yes [STRING]...
       yes OPTION

DESCRIPTION
       Repeatedly output a line with all specified STRING(s), or `y'.

এটি এর মতো ব্যবহার করুন:

yes Me | give_a_hug.sh

3
একটি সাধারণ যদিও ব্যঙ্গাত্মক ব্যবহার হয় yes n, উদাহরণস্বরূপ:yes n | mv -i * somewhere/
স্যাম ওয়াটকিন্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.