พิจารณารหัสต่อไปนี้
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 สิ่งนี้จะไม่เกิดขึ้น
ฉันจะได้รับผลลัพธ์ของฟังก์ชันในขณะที่รักษาความจริงที่ว่าฟังก์ชันอาจออกด้วยรหัสออกที่ไม่ใช่ศูนย์