Skrip shell cukup populer digunakan untuk mengotomatisasi hal-hal di Linux. Ini digunakan tidak hanya untuk tujuan administrasi sistem dan server tetapi juga oleh pengguna Linux biasa untuk mengotomatisasi hal-hal sehari-hari di sistem mereka.
Skrip shell tidak lain adalah urutan perintah; yang merupakan juru bahasa baris perintah (Misalnya Bash , Zsh ) akan berlari. Seiring dengan urutan perintah, ada fitur seperti loop , pernyataan bersyarat , variabel yang dapat digunakan dalam skrip shell.
Salah satu fitur tersebut adalah menyimpan seluruh perintah dalam sebuah variabel. Mari kita lihat apa yang kami maksud dengan itu dan bagaimana hal itu dapat dilakukan.
Pada dasarnya, shell Linux memungkinkan Anda untuk menyimpan perintah apa pun dalam variabel, sebagai string. Ini berguna untuk pernyataan kompleks sebaris yang melibatkan banyak perintah, pengalihan, dll. Variabel ini kemudian dapat diteruskan ke program 'eval ' sehingga isi variabel dieksekusi sebagai perintah.
Misalnya, untuk menyimpan output dari perintah 'cat test.txt | wc -l ' dalam variabel yang disebut 'cnt ', kita dapat memiliki pernyataan berikut di test.sh file skrip:
#!/bin/bash cnt="cat test.txt | wc -l"
Sekarang, untuk menjalankan perintah ini kapan saja, kami meneruskan variabel sebagai argumen ke ‘eval ', seperti yang ditunjukkan di bawah ini:
#!/bin/bash cnt="cat test.txt | wc -l" eval $cnt
Simpan dan keluar dari skrip.
Sekarang mari kita jalankan perintah dan skrip itu sendiri untuk memverifikasi ini.
$ cat test.txt | wc -l $ chmod + test.sh $ ./test.sh
Catatan :Ganti test.sh dengan nama skrip Anda. Pastikan file skrip Anda telah menjalankan hak istimewa.
Seperti yang terlihat pada tangkapan layar di atas, kedua hasilnya sama.
Kesimpulan
Pada artikel ini, kita telah melihat cara menyimpan perintah Linux sebagai variabel dalam skrip shell. Meskipun ini telah ditampilkan dalam skrip shell, Anda juga dapat melakukan hal yang sama pada baris perintah, lalu meneruskan variabel ke ‘eval ‘.
Jika Anda memiliki pertanyaan atau umpan balik, beri tahu kami di komentar di bawah!