Saya punya satu sumber bash run.sh
sebagai berikut,
#!/bin/bash
if [ $# -ne 1 ]; then
exit
fi
...
ketika saya menjalankannya dengan dua cara, ada perilaku yang berbeda. Cara pertama adalah,
source run.sh
Ini akan menutup terminal setelah eksekusi. Cara kedua adalah,
./run.sh
ini hanya akan selesai menjalankan skrip, dan tetap di terminal. Saya bertanya apakah ada perintah untuk keluar dari skrip bash untuk keduanya source run.sh
dan ./run.sh
eksekusi. Saya telah mencoba return
juga, yang tidak berfungsi dengan baik dalam ./run.sh
eksekusi.
Secara umum, saya tertarik mengapa ini terjadi, dan apa perbedaan antara menggunakan "sumber" dan "." untuk eksekusi skrip?
$- = *i*
bekerja?