Shell adalah interpreter baris perintah yang memungkinkan pengguna untuk berinteraksi dengan sistem. Ini bertanggung jawab untuk mengambil input dari pengguna dan menampilkan output.
Skrip shell adalah serangkaian perintah yang ditulis dalam urutan eksekusi. Script ini dapat berisi fungsi, loop, perintah, variabel. Skrip memudahkan pengguna untuk menyimpan urutan kode tertentu yang mungkin digunakan berulang kali. Skrip shell juga dapat memiliki komentar untuk meningkatkan keterbacaan.
Skrip shell perlu disimpan dengan ekstensi .sh .
Untuk memberi tahu sistem Linux bahwa file tersebut adalah skrip shell, file harus dimulai dengan shebang konstruksi.
#!/bin/bash OR #!/bin/sh
Setelah ini, skrip dapat berisi perintah, fungsi, loop, pemeriksaan bersyarat, dll.
Skrip yang baik selalu berisi komentar yang membuatnya dapat dibaca.
Membuat dan menjalankan skrip shell dasar
Skrip shell dapat dibuat menggunakan vi, perintah cat, atau editor teks biasa di GUI.
Mari kita buat skrip shell dasar menggunakan vi
$ vi basic_script.sh
Ini akan membawa Anda ke editor vi. Tambahkan baris berikut:
#!/bin/bash whoami date
Skrip sederhana ini akan menampilkan pengguna saat ini diikuti dengan tanggal.
Untuk menyimpan dan keluar dari editor vi:
- Tekan ESC
- Jenis :
- Ketik 'wq'
- Tekan Enter
Secara default, pembuat skrip tidak mendapatkan izin yang dapat dieksekusi untuk file tersebut.
Untuk mengubahnya:
$ chmod +x basic_script.sh
Ini akan memberi Anda (pengguna saat ini) izin untuk mengeksekusi file.
Untuk menjalankan skrip :
$ bash basic_script.sh
Baris pertama output sesuai dengan perintah 'whoami' dan baris kedua untuk perintah 'tanggal'.
Cara lain untuk menjalankan skrip adalah :
$ ./basic_script.sh
Menjalankan file dengan cara ini mungkin mengharuskan pengguna untuk memberikan izin terlebih dahulu. Menjalankannya dengan 'bash' tidak memerlukan izin.
Skrip yang sama dijalankan dengan 'bash' sebelumnya, tetapi mengalami masalah izin ketika mencoba mengeksekusi secara langsung. Alasan hal ini terjadi adalah karena perintah bash [nama file] hanya membutuhkan izin baca dari file tersebut.
Sedangkan perintah ./[nama file] menjalankan file sebagai executable dan karenanya memerlukan izin untuk mengeksekusi. Pertanyaan ini telah dijawab secara mendetail di StackExchange.
Secara umum lebih baik memberikan izin yang dapat dieksekusi.
Menggunakan variabel dalam skrip shell
Skrip dapat menyertakan variabel yang ditentukan pengguna, pada kenyataannya karena skrip menjadi sangat besar ukurannya, sangat penting untuk memiliki variabel yang didefinisikan dengan jelas. Variabel yang bersifat self-deskriptif adalah kualitas lain dari naskah yang baik.
Tambahkan baris berikut ke skrip:
#!/bin/bash #This is a comment #defining a variable GREETINGS="Hello! How are you" echo $GREETINGS
SALAM adalah variabel yang ditentukan dan kemudian diakses menggunakan '$'.
Seharusnya tidak ada spasi di baris tempat variabel diberi nilai.
Mari kita jalankan skripnya:
Membaca input dari baris perintah
Skrip shell dapat dibuat interaktif dengan kemampuan menerima input dari baris perintah. Perintah read dapat digunakan untuk menyimpan input baris perintah dalam sebuah variabel.
#!/bin/bash #This is a comment #defining a variable echo "What is your name?" #reading input read NAME #defining a variable GREETINGS="Hello! How are you" echo $NAME $GREETINGS
Sebuah variabel NAME telah digunakan untuk menerima masukan dari baris perintah.
Saat menjalankan skrip :
Mendefinisikan fungsi
Pengguna dapat menentukan fungsi mereka sendiri dalam skrip. Fungsi-fungsi ini dapat mengambil banyak argumen.
Dalam skrip tambahkan:
#!/bin/bash #This is a comment #defining a variable echo "What is the name of the directory you want to create?" #reading input read NAME #defining a variable echo "Creating $NAME ..." mkcd () { mkdir "$NAME" cd "$NAME" } mkcd echo "You are now in $NAME"
Skrip ini akan menanyakan nama direktori kepada pengguna. Kemudian akan membuat direktori dan cd ke dalamnya.
Kesimpulan
Kami melihat bagaimana skrip dapat digunakan untuk menjalankan perintah dalam urutan serial. Skrip membantu pengguna dalam mengurangi redundansi dan menghemat waktu. Skrip juga dapat dibagikan di antara pengguna yang berbeda.
Skrip yang kita lihat dalam tutorial ini cukup mendasar, skrip dapat dirancang untuk melakukan tugas yang kompleks juga. Untuk mempelajari lebih lanjut tentang skrip, lihat ini.