SO üzerinde Q & A alınan aşağıdaki yöntemi kullanarak dosya adlarını bir diziye ayrıştırır bir komut dosyası var :
unset ARGS
ARGID="1"
while IFS= read -r -d $'\0' FILE; do
ARGS[ARGID++]="$FILE"
done < <(find "$@" -type f -name '*.txt' -print0)
Bu harika çalışır ve her türlü dosya adı varyasyonunu mükemmel şekilde işler. Ancak, bazen, olmayan bir dosyayı betiğe geçireceğim, örneğin:
$ findscript.sh existingfolder nonexistingfolder
find: `nonexistingfile': No such file or directory
...
Normal şartlar altında komut dosyasının çıkış kodunu benzer bir şeyle yakalamasını ve RET=$?
nasıl devam edeceğine karar vermek için kullanmasını isterdim . Bu, yukarıdaki işlem ikamesi ile işe yaramıyor gibi görünüyor.
Bu gibi durumlarda doğru prosedür nedir? Dönüş kodunu nasıl yakalayabilirim? Değiştirilen süreçte bir şeyin yanlış olup olmadığını belirlemenin daha uygun yolları var mı?