इस तरह से स्क्रिप्ट निष्पादित करने में क्या अंतर है:
./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