dalam file batch cmd, saya menemukan baris berikut
call sqlcmd -S .\SQLEXPRESS -d main_dev -i create.sql
Apa tujuan menggunakan call
sini?
saya membaca https://ss64.com/nt/call.html , tetapi tidak dapat menemukan casing dalam tautan yang berlaku di sini.
Bisakah kita cukup menjalankan perintah tanpa call
, yaitu
sqlcmd -S .\SQLEXPRESS -d main_dev -i create.sql
Saya sudah terbiasa dengan Bash. Apakah ada perintah serupa di Bash atau Linux call
dalam cmd?
Terima kasih.
call
dalam cmd?call
berarti akan kembali setelahnya dan melanjutkan dengan file batch asli. Jika Anda menghilangkancall
, maka Anda akan berantai ke file dan tidak kembali.bash
: skrip yang dipanggil selalu kembali. Jika Anda ingin rantai tanpa kembali, gunakanexec
.source script.sh
atau. script.sh
akan menyebabkan file skrip dieksekusi dalam konteks yang sama dengan skrip tempat skrip tersebut muncul, sedangkan secara default skrip yang diluncurkan dari dalam skrip akan dijalankan dengan stdin / out / err sendiri, dll.Jawaban:
Anda perlu memeriksa file batch di mana file
call
pernyataan ditemukan. Biasanya, batchcall
pernyataan berarti bahwa ada lebih banyak yang perlu dilakukan oleh file batch panggilan, sehingga file batch yang dipanggil perlu mengembalikan kontrol ke file batch panggilan. Jika Anda membuat perubahan yang Anda tanyakan,sqlcmd
akan tidak mengembalikan kontrol ke file batch panggilan, dan apa pun setelah itu tidak akan berjalan.sumber
call
dalam cmd?