আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা এসও-তে প্রশ্নোত্তর থেকে নেওয়া নিম্নলিখিত পদ্ধতিটি ব্যবহার করে ফাইলের নামগুলিকে অ্যারেতে পার্স করে :
unset ARGS
ARGID="1"
while IFS= read -r -d $'\0' FILE; do
ARGS[ARGID++]="$FILE"
done < <(find "$@" -type f -name '*.txt' -print0)
এটি দুর্দান্ত কাজ করে এবং সকল প্রকারের ফাইলের বিভিন্নতা পুরোপুরি পরিচালনা করে। কখনও কখনও, তবে আমি স্ক্রিপ্টে একটি অ-বিদ্যমান ফাইলটি পাস করব, যেমন:
$ findscript.sh existingfolder nonexistingfolder
find: `nonexistingfile': No such file or directory
...
স্বাভাবিক পরিস্থিতিতে আমার কাছে স্ক্রিপ্টটি প্রস্থান কোডের মতো কিছু দিয়ে ক্যাপচার করত RET=$?
এবং কীভাবে এগিয়ে যায় তা স্থির করতে এটি ব্যবহার করে। এটি উপরের প্রক্রিয়া বিকল্পের সাথে কাজ করে বলে মনে হচ্ছে না।
এই জাতীয় ক্ষেত্রে সঠিক পদ্ধতি কি? আমি কীভাবে রিটার্ন কোডটি ক্যাপচার করব? প্রতিস্থাপন প্রক্রিয়াতে কিছু ভুল হয়েছে কিনা তা নির্ধারণের জন্য আরও কি আরও উপযুক্ত উপায় আছে?