2
วัตถุประสงค์ของการส่งออกฟังก์ชั่นในทุบตี
ถ้าเราดูตัวอย่างต่อไปนี้: # testing(){ echo hello;} # testing hello # echo $(testing) hello # echo testing >script # ./script ./script: line 1: testing: command not found # source ./script hello # export -f testing # ./script hello ปรากฎว่าbashฟังก์ชั่นจะต้องส่งออกเฉพาะในกรณีที่คุณต้องการใช้ในสคริปต์ที่ไม่ได้มา ฉันลองใช้หลายระดับของ subshells พฤติกรรมเหมือนกัน บางคนสามารถยืนยันสิ่งนี้ได้เพราะฉันพบว่ามันขัดแย้งกับการอ้างว่าตัวแปรท้องถิ่นไม่มีอยู่ใน subshells