Belirli bir bash komut dosyası çıktığında, normal olarak veya kesintiye uğrayıp uğramadığı, yapılması gereken bir grup genel temizleme kodum var. Bunu başarmak için trap "..." EXIT
psödosignal kullanacağımı düşündüm.Bash sinyal yakalama 'trap' bloğu bildirildikten sonra değişen değişkenleri algılamıyor
Genel temizleme işlemlerine ek olarak, yalnızca komut dosyası normal olarak tamamlandığında yapılması gereken bir parça özel temizleme vardır. Ben 'tuzak' blok şöyle bir değişken sınamak alarak bu tetikleyebilecek düşündü:
#!/bin/bash
done=false;
trap "{
#generic cleanup code goes here.
if $done
then
#cleanup to be done only on completion goes here.
echo Test;
fi
}" EXIT
#main script goes here
done=true;
Ancak bu işe yaramaz. Aşağıdaki kodu çalıştırmak asla "Test" e yankılanmaz. done=true;
'dan sonra bir exit
aramasının eklenmesi hiçbir şey değiştirmez. Neyi kaçırıyorum?
Şerefe!