ในโครงการของฉันฉันมีตัวอย่างต่อไปนี้:
local output="$(bash "${1##*/}")"
echo "$?"
สิ่งนี้จะพิมพ์ค่าศูนย์เนื่องจากการlocal
ลบlocal
จะทำให้$?
ตัวแปรทำงานได้อย่างถูกต้อง: ซึ่งจะถือว่ารหัสการออกจาก subshell
คำถามของฉันคือ: ฉันจะเก็บตัวแปรนี้ไว้ในตัวเครื่องได้อย่างไรในขณะที่ยังเก็บค่าการออกได้
shellcheck
จะไม่เพียงจับปัญหานี้ แต่แนะนำวิธีแก้ปัญหาที่unix.stackexchange.com/a/281749/24718 !