Bir kütüphane işlevi başarısız olursa kütüphaneyi oluşturan bash uygulamasının öldürülmesini istiyorum.
bana söylendi set -e bunu yapar.
lib.sh
#!/bin/bash
function die
{
echo "dying: $1"
exit 1
}
function get_info
{
die "oops an error"
}
app.sh
#!/bin/bash
set -e
source "lib.sh"
echo "info: $(get_info)"
echo "ok"
Koş
$> bash app.sh
info: dying: oops an error
ok
die 1 ile çıktım app.sh ile set -e de öldürülmeli, değil mi?
Bu neden işe yaramadı?
info=$(get_info); echo "won't see this $info". şaşırtıcı