मैं चाहता हूं कि यदि लाइब्रेरी फंक्शन फेल हो जाए, तो मैं बैश एप्लिकेशन को लाइब्रेरी को मार देना चाहता हूं।
मुझे बताया गया set -eहै कि यह करता है।
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"
चलाओ
$> bash app.sh
info: dying: oops an error
ok
die1 के साथ बाहर तो app.shसाथ set -eमारा जाना चाहिए, है ना?
यह काम क्यों नहीं किया?
info=$(get_info); echo "won't see this $info"। बफ़लिंग