Saya menyadari ini adalah posting lama tapi saya sering kembali ke utas ini karena ini adalah salah satu hasil pencarian teratas ketika mencari topik ini. Namun, saya selalu lebih bingung ketika saya datang karena informasi yang saling bertentangan. Pada akhirnya saya selalu harus melakukan tes sendiri untuk mengetahuinya. Jadi kali ini saya akan memposting temuan saya.
Keluar: Ini akan "keluar" dari konteks yang sedang berjalan. Jika Anda memanggil perintah ini dari skrip, skrip akan keluar. Jika Anda memanggil perintah ini dari shell, shell akan keluar.
Jika suatu fungsi memanggil perintah Exit, ia akan keluar dari konteks apa pun yang sedang berjalan. Jadi, jika fungsi itu hanya dipanggil dari dalam skrip yang berjalan, ia akan keluar dari skrip itu. Namun, jika skrip Anda hanya mendeklarasikan fungsi sehingga dapat digunakan dari shell saat ini dan Anda menjalankan fungsi itu dari shell, itu akan keluar dari shell karena shell adalah konteks di mana fungsi yang mengendalikan Exit
perintah sedang berjalan.
Catatan: Secara default jika Anda mengklik kanan pada skrip untuk menjalankannya di PowerShell, setelah skrip selesai berjalan, PowerShell akan menutup secara otomatis. Ini tidak ada hubungannya dengan Exit
perintah atau apapun dalam skrip Anda. Ini hanya perilaku PowerShell default untuk skrip yang dijalankan menggunakan metode spesifik menjalankan skrip. Hal yang sama berlaku untuk file batch dan jendela Command Line.
Kembali: Ini akan kembali ke titik panggilan sebelumnya. Jika Anda memanggil perintah ini dari skrip (di luar fungsi apa pun), perintah itu akan kembali ke shell. Jika Anda memanggil perintah ini dari shell, ia akan kembali ke shell (yang merupakan titik panggilan sebelumnya untuk satu perintah yang dijalankan dari shell). Jika Anda memanggil perintah ini dari suatu fungsi, ia akan kembali ke tempat dari mana fungsi itu dipanggil.
Eksekusi perintah apa pun setelah titik panggilan itu dikembalikan akan melanjutkan dari titik itu. Jika skrip dipanggil dari shell dan berisi Return
perintah di luar fungsi apa pun maka ketika kembali ke shell tidak ada lagi perintah untuk dijalankan sehingga membuat Return
digunakan dengan cara ini pada dasarnya sama dengan Exit
.
Istirahat: Ini akan keluar dari loop dan beralih kasus. Jika Anda memanggil perintah ini saat tidak dalam satu loop atau beralih kasus itu akan keluar dari skrip. Jika Anda memanggil Break
di dalam loop yang bersarang di dalam loop itu hanya akan keluar dari loop itu dipanggil.
Ada juga fitur yang menarik di Break
mana Anda bisa mengawali loop dengan label dan kemudian Anda bisa keluar dari loop berlabel bahkan jika Break
perintah dipanggil dalam beberapa grup bersarang di dalam loop berlabel.
While ($true) {
# Code here will run
:myLabel While ($true) {
# Code here will run
While ($true) {
# Code here will run
While ($true) {
# Code here will run
Break myLabel
# Code here will not run
}
# Code here will not run
}
# Code here will not run
}
# Code here will run
}