มีสคริปต์ง่าย ๆ :
echo "file: $0"
เมื่อถูกเรียกเช่นนั้น:
ทุบตี myscript.sh
หรือ
./myscript.sh
ให้ชื่อไฟล์ของสคริปต์ ( file: myscript.sh
) ตามที่คาดไว้ แต่เมื่อเรียกใช้:
แหล่ง myscript.sh
หรือ
. ./myscript.sh
ให้ชื่อเชลล์ ( bash
) แทนชื่อไฟล์สคริปต์
ทำไมถึงเป็นเช่นนี้