Apa perbedaan antara menjalankan skrip seperti ini:
./test.sh
dan menjalankan skrip seperti ini:
. test.sh?
Saya mencoba skrip dua baris sederhana untuk melihat apakah saya dapat menemukan apakah ada perbedaan:
#!/bin/bash
ls
Tetapi keduanya . test.shdan ./test.shmengembalikan informasi yang sama.
test.shtidak sama dengan ./test.sh(yang pertama memanggil PATHpencarian), begitu juga . test.shdan . ./test.shberbeda dengan cara yang sama (yang pertama memanggil PATHpencarian). Banyak cangkang tampaknya secara implisit termasuk .di akhir PATHketika melakukan .pencarian jalur, tetapi perilaku ini tidak standar. Oleh karena itu, lebih akurat untuk membandingkan test.shvs . test.shdan ./test.shvs . ./test.sh.