এটি করার একটি বিকল্প উপায় হ'ল কেবলমাত্র আপনার ফাইলে স্ট্যান্ডার্ড ইনপুট পুনর্নির্দেশ করা, যেখানে আপনি প্রোগ্রামটির দ্বারা প্রত্যাশিত ক্রমে সমস্ত ব্যবহারকারীর ইনপুট থাকে। উদাহরণস্বরূপ, প্রোগ্রাম সহ (ডাকা 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
জোড়া? সমাধানগুলি একেবারেই আলাদা (যদি এটি পরে হয়, তক্কাতের উত্তর প্রযোজ্য হয়, প্রাক্তন রাদুর)