যখন আপনি এটি দিয়ে চালানো bash test.sh
আপনি স্পষ্টভাবে লোড এবং চালানোর জন্য bash বলার অপেক্ষা রাখে না test.sh
। ফাইলটি শুধুমাত্র সেই পদ্ধতির মাধ্যমে "চালান" পড়তে হবে। কিন্তু আপনি যদি শুধু একটি ফাইল চালানো ./test.sh
যেমন এটি চালানো হবে না কারণ ফাইলটির কোনও সুনির্দিষ্ট কার্যকর অনুমতি নেই; শুধু permissons পড়া।
অর্থ, প্রথম ক্ষেত্রে test.sh
দ্বারা লোড করা হচ্ছে bash
। কিন্তু এটি নিজস্ব, ইউনিক্স / লিনাক্স সিস্টেম ডিফল্টরূপে ফাইল চালনা করবে না। এবং যে অতীত, আপনি যে প্রাথমিক অপসারণ #!/bin/bash
থেকে ./test.sh
এবং চালানোর অনুমতিগুলির সাথে এমনকি এটি চালানোর চেষ্টা করুন, এটি চালানো হবে না কারণ সিস্টেমটি নীচে এটির কমান্ডগুলি সম্পর্কে জানবে না।
এবং আপনি যদি অবাক হয়ে থাকেন তবে ফাইলগুলি স্বয়ংক্রিয়ভাবে সৃষ্টির অনুমতিগুলি পায় না? আচ্ছা, এটি একটি দীর্ঘ কথোপকথন তবে মূলত এমন কিছু করছে যা আপনার সিস্টেমে নতুন আক্রমণের পৃষ্ঠ তৈরি করবে। কেউ যদি আপনার সিস্টেমে পেতে পারে এবং শুধুমাত্র লেখার মাধ্যমে ফাইলগুলি চালাতে পারে তবে এটি একটি বড় সমস্যা।