ความแตกต่างระหว่างการเรียกใช้งานสคริปต์เช่นนี้:
./test.sh
และดำเนินการสคริปต์เช่นนี้:
. test.sh?
ฉันลองสคริปต์สองบรรทัดแบบง่าย ๆ เพื่อดูว่าฉันสามารถค้นหาได้หรือไม่ว่ามีความแตกต่าง:
#!/bin/bash
ls
แต่ทั้งสอง. test.shและ./test.shส่งคืนข้อมูลเดียวกัน
test.shไม่ได้เป็นเช่นเดียวกับ./test.sh(คนแรกที่จะเรียกPATHการค้นหา) เพื่อให้มี. test.shและ. ./test.shที่แตกต่างกันในทางเดียวกัน (อดีตจะเรียกPATHการค้นหา) กระสุนจำนวนมากดูเหมือนจะรวม.อยู่ในตอนท้ายPATHเมื่อทำการ.ค้นหาเส้นทาง แต่พฤติกรรมนี้ไม่ได้มาตรฐาน ดังนั้นจึงเป็นที่ถูกต้องมากขึ้นเพื่อเปรียบเทียบtest.shเทียบ. test.shและเทียบ./test.sh . ./test.sh