এটি করার একটি বিকল্প উপায় হ'ল কেবলমাত্র আপনার ফাইলে স্ট্যান্ডার্ড ইনপুট পুনর্নির্দেশ করা, যেখানে আপনি প্রোগ্রামটির দ্বারা প্রত্যাশিত ক্রমে সমস্ত ব্যবহারকারীর ইনপুট থাকে। উদাহরণস্বরূপ, প্রোগ্রাম সহ (ডাকা script.sh)
#!/bin/bash
echo "Enter your name:"
read name
echo "...and now your age:"
read age
# example of how to use the values now stored in variables $name and $age
echo "Hello $name. You're $age years old, right?"
এবং ইনপুট ফাইল (ডাকা input.in)
Tomas
26
আপনি এই দুটি টার্মিনাল থেকে নিম্নলিখিত দুটি উপায়ে চালাতে পারেন:
$ cat input.in | ./script.sh
$ ./script.sh < input.in
এবং এটি কেবল স্ক্রিপ্টটি চালানো এবং ম্যানুয়ালি ডেটা প্রবেশের সমান হবে - এটি "হ্যালো টমাস। লাইনটি প্রিন্ট করবে You're আপনি 26 বছর বয়সী, তাই না?"
হিসাবে Radu Rădeanu করেছে ইতিমধ্যেই এটিকে , আপনি ব্যবহার করতে পারে catআপনার স্ক্রিপ্টের ভিতরে avariable মধ্যে একটি ফাইলের বিষয়বস্তু পড়তে - যে ক্ষেত্রে, আপনি প্রতিটি ফাইল প্রয়োজন আপনি যে নির্দিষ্ট পরিবর্তনশীল চান শুধুমাত্র মান শুধুমাত্র এক লাইন ধারণ করে। উপরের উদাহরণে, আপনি ইনপুট ফাইলটিকে নামের সাথে (একটি বলুন name.in) এবং একটিতে বয়সের সাথে (বলুন age.in) বিভক্ত করতে পারেন এবং যথাক্রমে read nameএবং read ageলাইনগুলি পরিবর্তন করতে পারেন ।name=$(cat name.in)age=$(cat age.in)
KEY=VALUEজোড়া? সমাধানগুলি একেবারেই আলাদা (যদি এটি পরে হয়, তক্কাতের উত্তর প্রযোজ্য হয়, প্রাক্তন রাদুর)