setKomut dosyamda farklı seçenekleri verimli bir şekilde nasıl kullanacağımı öğreniyorum ve set -ubir değişken düzgün ayarlanmadıysa (örn. Kullanıcıları silme) komut dosyamdan çıkmak için mükemmel görünüyor. Man sayfasına göre set -uve set -eaşağıdakileri yapar ...
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
Bu işlevi test etmek için bir test komut dosyası oluşturdum, ancak beklendiği gibi çalışmıyor gibi görünüyor. Belki birisi sorunumu daha iyi açıklayabilir ve nerede yanlış yorumladığım? Test komut dosyası aşağıdadır. Teşekkür ederim.
set -e
set -u
testing="This works"
echo $?
echo ${testing}
testing2=
echo $?
echo ${testing2}
testing3="This should not appear"
echo $?
echo ${testing3}
Ben komut dosyası 0 ve "Bu işe yarar" görüntülemek için bekliyoruz ve sonra ${testing2}ayarlanmadı gibi başarısız .
Onun yerine görüntülenen am 0 ve "Bu eserler" tarafından takip edin 0 ve ardından 0 Bu görünmemelidir
Herkes bilgi verebilir mi? Teşekkür ederim.