พิจารณารหัสต่อไปนี้
outer-scope.sh
#!/bin/bash
set -e
source inner-scope.sh
echo $(inner)
echo "I thought I would've died :("
inner-scope.sh
#!/bin/bash
function inner() { echo "winner"; return 1; }
ฉันพยายามouter-scope.sh
ออกเมื่อสายinner()
ล้มเหลว ตั้งแต่$()
เรียกใช้ sub-shell สิ่งนี้จะไม่เกิดขึ้น
ฉันจะได้รับผลลัพธ์ของฟังก์ชันในขณะที่รักษาความจริงที่ว่าฟังก์ชันอาจออกด้วยรหัสออกที่ไม่ใช่ศูนย์