অন্যান্য উত্তরগুলির পাশাপাশি, যা আপনাকে যা চেয়েছিল তা কীভাবে করতে হবে সে সম্পর্কে আপনাকে জানানো হয়েছিল, আমি কী ভুল ছিল তা ব্যাখ্যা করার চেষ্টা করি (যা আপনি চেয়েছিলেন তা।
বাশে, if
একটি কমান্ড অনুসরণ করা হয়। যদি এই কমান্ডের প্রস্থান কোড 0 এর সমান হয়, তবে then
অংশটি কার্যকর করা হয়, অন্যথায় else
যদি অংশ কার্যকর হয়।
অন্যান্য উত্তরে বর্ণিত কোনও আদেশের সাহায্যে আপনি এটি করতে পারেন: if /bin/true; then ...; fi
[[
ফাইল অস্তিত্ব, পরিবর্তনশীল তুলনা যেমন কিছু পরীক্ষায় উত্সর্গীকৃত একটি অভ্যন্তরীণ বাশ কমান্ড। একইভাবে [
একটি বহিরাগত কমান্ড (এটি সাধারণত অবস্থিত /usr/bin/[
) এটি প্রায় একই পরীক্ষাগুলি সম্পাদন করে তবে ]
একটি চূড়ান্ত যুক্তি হিসাবে প্রয়োজন , এজন্য ]
বামদিকে একটি স্থান দিয়ে প্যাড করা আবশ্যক , যা এটির ক্ষেত্রে নয় ]]
।
এখানে আপনার দরকার [[
নেই [
।
আরেকটি বিষয় হ'ল আপনি জিনিসগুলিকে উদ্ধৃত করার উপায়। ব্যাশে, কেবলমাত্র একটি কেস রয়েছে যেখানে কয়েকটা উদ্ধৃতি বাসা বাঁধে, এটি "$(command "argument")"
। তবে আপনার মধ্যে 'grep 'SomeString' $File'
কেবল একটি শব্দ আছে, কারণ 'grep '
একটি উদ্ধৃত ইউনিট, যা দিয়ে যুক্ত করা হয় SomeString
এবং তারপরে আবার সংক্ষেপিত হয় ' $File'
। $File
একক উদ্ধৃতি ব্যবহারের কারণে ভেরিয়েবলটি তার মান দিয়েও প্রতিস্থাপন করা হয় না। এটি করার সঠিক উপায় grep 'SomeString' "$File"
।