मेरे पास एक स्क्रिप्ट है, जो एसओ पर एक प्रश्नोत्तर से ली गई विधि का उपयोग करके एक सरणी में नाम दर्ज करती है :
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=$?
और आगे बढ़ने के तरीके का उपयोग करना होगा। यह ऊपर की प्रक्रिया प्रतिस्थापन के साथ काम नहीं करता है।
इस तरह के मामलों में सही प्रक्रिया क्या है? मैं रिटर्न कोड कैसे पकड़ सकता हूं? क्या निर्धारित प्रक्रिया में कुछ गलत हुआ है, यह निर्धारित करने के लिए अन्य उपयुक्त तरीके हैं?