আমি বাশ স্ক্রিপ্টিংয়ে বেশ নতুন। আমার একটি "টেস্টস্ক্রিপ্ট" আছে, যা আমি আরও উন্নত / দরকারী স্ক্রিপ্টের ভিত্তি হিসাবে ব্যবহার করেছি:
#!/bin/bash
files=$1
for a in $files
do
echo "$a"
done
যখন আমি কোনও উদ্ধৃতি ছাড়াই এটি কল করি তখন এটি কেবল একটি ডিরেক্টরিতে একটি ফাইল তুলে দেয়:
testscript *.txt
তবে আমি যখন এটিকে উদ্ধৃতি দিয়ে কল করি এটি সঠিকভাবে কাজ করে এবং সমস্ত পাঠ্য ফাইলগুলি খুঁজে বের করে:
testscript '*.txt'
এখানে কি হচ্ছে?
for a in "$@"; do
(বাfor a; do
) চালানো , এইভাবে গ্লোব্বিংকে বাইরের শেলের কাছে রেখে, উদ্ধৃতিগুলি না রেখে।