Itu exec perintah menggantikan proses shell saat ini dengan perintah yang ditentukan. Biasanya, ketika Anda menjalankan perintah proses baru muncul (bercabang). The exec perintah tidak menelurkan sebuah proses baru. Sebagai gantinya, proses saat ini dilapis dengan perintah baru. Dengan kata lain execperintah dijalankan di tempat shell saat ini tanpa membuat proses baru.
Ada tiga penggunaan perintah exec yang paling umum:
1. Penggantian proses
Contoh-1:
Jika Anda membukabashshellbarusebagai
$ bash
di pstree dalamnya terlihat seperti
├─ terminal rumah
├─bash───bash───pstree
bashShell sebelumnya masih ada dan Anda mendapat bashshell baru . Sedangkan jika Anda membuka bash shell baru seperti,
$ exec bash
yang pstreemenunjukkan
├─ terminal rumah
├─bash───tiga
Di sini yang lama bashdiganti dengan yang baru. Sangat berguna untuk keluar dari banyak login dalam satu perintah. Itu lebih aman dan menghilangkan kesempatan meninggalkan terminal terbuka karena kesalahan. Lihat Keluar dari root dan pengguna dengan satu perintah
Contoh-2: Anda dapat membuka file sebagai
$ exec vi filename.txt
Ketika Anda berhenti, vitidak perlu menutup terminal secara terpisah karena shell sudah diganti. Segera setelah Anda menutup terminal vi juga ditutup.
2. Metode pengalihan deskriptor file dalam skrip shell
Itu exec perintah juga dapat digunakan dalam skrip shell dinamis terbuka, dekat, dan menyalin file deskriptor. Itu memungkinkan melakukan pengalihan STDIN, STDERR, STDOUT dan deskriptor file lainnya ke berbagai file di dalam skrip shell, alih-alih string permintaan perintah. Jika Anda tidak menentukan perintah atau argumen, Anda bisa menentukan simbol pengalihan dan deskriptor file untuk melakukan fungsi-fungsi ini.
Katakanlah Anda memiliki skrip shell yang script.shAnda ingin memiliki file log script.log, Anda dapat menggunakan execsebagai,
LOG=/path/to/script.log
exec 1>>$LOG
exec 2>&1
yang setara dengan
./script &>> /path/to/script.log
./script >> /path/to/script.log 2>&1
3. Membuat tahapan proses menggunakan perintah exec
Anda juga dapat menggunakan perintah exec untuk membuat satu set skrip shell yang mengeksekusi satu sama lain seperti tahapan proses. Alih-alih menelurkan proses baru setiap kali Anda perlu mentransfer kontrol ke skrip berikutnya Anda menjalankan perintah exec.
Dalam hal ini pernyataan terakhir dari setiap tahap harus berupa execperintah yang memanggil tahap berikutnya.
Lihat penggunaan execperintah dalam skrip shell untuk lebih lanjut.
Catatan: Bagian di atas diambil dari ini.