इस तरह से स्क्रिप्ट निष्पादित करने में क्या अंतर है:
./test.sh
और इस तरह से एक स्क्रिप्ट निष्पादित:
. test.sh?
मैंने यह देखने के लिए एक सरल, दो-लाइन स्क्रिप्ट की कोशिश की कि क्या अंतर होने पर मुझे मिल सकता है:
#!/bin/bash
ls
लेकिन दोनों . test.shऔर ./test.shएक ही जानकारी लौट आए।
test.shके समान नहीं है , तो उसी तरह से अलग और अलग हैं (पूर्व एक खोज को आमंत्रित करता है )। पथ खोज करते समय अंत में कई गोले स्पष्ट रूप से शामिल प्रतीत होते हैं , लेकिन यह व्यवहार मानक नहीं है। इस प्रकार, बनाम और बनाम की तुलना करना अधिक सटीक है । ./test.shPATH. test.sh. ./test.shPATH.PATH.test.sh. test.sh./test.sh. ./test.sh