Jumat, 01 Januari 2016

PLJD - SHELL SCRIPT


Penggunaan juru perintah shell (biasanya hanya disebut shell) kembali ke awal pertama sistem Unix. Selain kejelasannya dalam menjalankan perintah, shell memiliki banyak fitur membangun (built-in) seperti variabel lingkungan, alias, dan berbagai fungsi untuk pemrograman. Meskipun shell yang paling sering digunakan pada sistem Linux adalah Bourne Again Shell (bash), terdapat juga shell lain yang cukup baik (seperti sh, csh, ksh, tcsh, dan lain-lain). Beberapa shell ini tumbuh atau menggantikan versi shell yang lebih tua, tercermin dengan fakta, misalnya, menjadi simbolis sh link ke bash.
Setelah membuka shell (baik dari teks berbasis login atau jendela Terminal), lingkungan shel ditentukan berdasarkan pengguna yang memulai shell. Pengaturan Shell Bash untuk semua pengguna shell terletak di '/etc/bash.bashrc', '/etc/profile', dan '/etc/profile.d'. Pengaturan shell pengguna-spesifik ditentukan oleh perintah yang dijalankan dari beberapa titik file di direktori home user (jika mereka ada): '.bash_profile','.bash_login', dan '.profile'. Ketika shell ditutup, semua perintah di file user ~ /.Bash_logout dijalankan. Mengubah pengaturan dalam file-file ini secara permanen, merubah pengaturan shell pengguna tetapi tidak mempengaruhi shell yang sudah berjalan (Shell lain menggunakan file konfigurasi yang berbeda).
Ada berbagai cara di mana Anda dapat mengubah daftar dan lingkungan shell anda. Salah satu cara yang terbesar adalah untuk mengubah cara pengguna khususnya, untuk menjadi super user.



MENAMPUNG NAMA FOLDER DAN NAMA SCRIPT YANG SEDANG DIEKSEKUSI
Ketika membuat keterangan mengenai cara pengguna sebuah script, biasanya kita membutuhkan nama script dan folder dimana script yang sedang dijalankan berada. Berikut adalah cara untuk menampung posisi folder kerja dan nama script yang sedang dijalankan dengan menggunakan perintah basename dan pwd.
#!/bin/bash
NAMASCRIPT=$(basename $0)
DIRSEKARANG=$(pwd)
Variabel NAMASCRIPT telah menampung nama script yang sedang dijalankan dan variabel DIRSEKARANG sudah berisi posisi folder pada saat script dijalankan. Selanjutnya tinggal mengunakan kedua variabel sesuai kebutuhan.
Mengecek suatu variable dengan menggunakan Perulangan
Misalkan kita ingin mengecek sebuah variable terhadap suatu pola tertentu pada shell scripting. Salah satu caranya adalah dengan memanfaatkan perintah grep ditambah dengan perintah echo. Caranya sederhana tapi ampuh untuk berbagai keperluan. Untuk lebih jelasnya silakan ikuti penjelasan lebih lanjut dibawah ini.
Misalkan ingin memvalidasi versi suatu paket pada Ubuntu. Sebelumnya, secara umum nomor versi paket pada Ubuntu berjumlah 3 digit yang setiap angkanya dipisahkan oleh titik, contohnya 1.0.0. Nilai versi yang akan divalidasi sudah tertampung pada sebuah variable, misalkan VERSION.
echo VERSION | grep -q -e [0-9]\.[0-9]\.[0-9]
if [ $? -eq 0 ]; then
# kondisi true
else
# kondisi false
fi
Cuplikan kode diatas datap dibagi menjadi 2 bagian yaitu bagian pertama adalah baris pertama. Perintah echo VERSION akan memberi masukan ke perintah grep karena dihubungankan oleh pipe (|). Perintah grep di atas mempunyai 2 buah opsi yaitu -q dan -e. Opsi -q digunakan agar perintah grep tidak menampilkan hasil ke standard output (diam, q singkatan untuk QUIET). Opsi -e digunakan untuk memberitahukan perintah grep bahwa parameter selanjutnya adalah kalimat regex.
Bagian ke dua adalah pengecekan variable $? dengan menggunakan if. $? adalah variable yang menyimpan kembalian dari program yang dipanggil sebelumnya. Jadi pada kasus ini variabel $? akan menampung kembalian pada bagian 1 di atas. Operator -eq digunakan untuk mengecek nilai integer. Bagi
yang belum tahu, perintah-perintah linux biasanya mengembalikan integer 0 kalo berjalan sesuai dengan yang diharapkan.
Sekian dulu nulis tentang shell scriptingnya. Untuk lebih jelasnya pada blog selanjutnya

Tidak ada komentar:

Posting Komentar