Shell
Programming
v Pemrograman Shell
Shell ialah program yang dibuat khusus yang bisa
digunakan untuk berinteraksi dengan kernel. Kernel yang dimaksud adalah kernel sistem
operasi yang sedang aktif dan Shell
merupakan salah satu dari sekian banyak
bahasa pemrograman. Shell memiliki sebuah keunikan tersendiri, Karena berjalan
disebuah platform Linux atau Unix, dan memiliki konsep perintah tingkat tinggi.
Shell juga dikenal dengan bahasa “command line processing” ini karena sintak
yang digunakan didalam pemrograman shell merupakan perintah-perintah dasar dari
Linux atau Unix. Selain itu juga sintak Shell dapat langsung dieksekusi
langsung pada terminal console Linux atau Unix. Di dalam system operasi Linux
atau Unix tipe-tipe shell sangat beragam.
Untuk melihat jenis Shell apa saja yang ada dalam sebuah
system operasi Linux dapat dialkukan dengan menuliskan perintah berikut :
$ ls
/etc/shells <enter>
Shell apa yang sedang aktif pada
saat ini, dapat digunakan perintah berikut :
$ echo $shell <enter>
v
Dasar-dasar Shell Programming
Sebelum mempelajari pemrograman Bash shell di
linux sebaiknya anda telah mengetahui dan menggunakan perintah - perintah dasar
shell baik itu internal command yang telah disediakan shell maupun eksternal
command atau utility, seperti
·
cd, pwd, times, alias, umask, exit, logout, fg,
bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
·
utilitas seperti cat, cut, paste, chmod, lpr,...
·
redirection (cara mengirim output ke file atau
menerima input dari file), menggunakan operator redirect >, >>, <,
<<, contohnya:
ls > data
hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika
sudah ada isinya akan ditimpa.hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
file data dijadikan input oleh perintah cat
ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-)
tampilkan semua file yang dimulai dengan i
tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
tampilkan file yang dimulai dengan salah satu karakter a atau b.
Untuk menyimpan sebuah nilai ke dalam variabel shell,kita dapat lakukan dengan menyebutkan nama variabel shelldengan diikuti oleh karakter sama dengan '=' dan diikutioleh nilai yang ingin disimpan ke dalam variabel tersebut.
$ jumlah=10
$ dir_ku=/usr/mhs/denny
Untuk menyimpan sebuah nilai ke dalam variabel shell,kita dapat lakukan dengan menyebutkan nama variabel shelldengan diikuti oleh karakter sama dengan '=' dan diikutioleh nilai yang ingin disimpan ke dalam variabel tersebut.
$ jumlah=10
$ dir_ku=/usr/mhs/denny
$ jumlah=10
$ dir_ku=/usr/mhs/denny
Ada dua hal penting yang perlu diketahui dalampenggunaan variabel shell ini.
· Tidak diijinkan adanya spasi pada sebelum dan sesudahkarakter sama dengan.
· Shell tidak mengenal tipe data. Dengan demikian,nilai apapun yang kita masukkan akan diartikansebagai untaian karakter. Jadi nilai 10 pada contohdiatas adalah untaian karakter dan bukan integer.
Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :
echo $variabel
Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
· Tidak diijinkan adanya spasi pada sebelum dan sesudahkarakter sama dengan.
· Shell tidak mengenal tipe data. Dengan demikian,nilai apapun yang kita masukkan akan diartikansebagai untaian karakter. Jadi nilai 10 pada contohdiatas adalah untaian karakter dan bukan integer.
Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :
echo $variabel
Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
· Shell tidak mengenal tipe data. Dengan demikian,nilai apapun yang kita masukkan akan diartikansebagai untaian karakter. Jadi nilai 10 pada contohdiatas adalah untaian karakter dan bukan integer.
Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :
echo $variabel
Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :
echo $variabel
Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
echo $variabel
Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
$ echo jumlahjumlah
$ echo $jumlah10
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !)
ls >> data
cat < data
·
pipa (output suatu perintah menjadi input
perintah lain), operatornya : | , contoh:
ls -l | sort -s
ls -l | sort -s | more
cat <data | sort > databaru
·
Wildcard dengan karakter *, ?, [ ], contohnya:
ls i*
ls i?i
ls [ab]*
v Variabel-Variabel yang ada pada Shell
·
VARIABEL
LOKAL
Variabel lokal ialah variabel
yang nilainya langsung diisikan. Di dalam
memberikan nama sebuah varibel, yang harus diperhatikan adalah
nama variabel berupa karakter
alphanumeric atau bisa juga diawali dengan karakater
garisbawah(_), setelah itu baru bisa diikuti
dengan jenis karakter yang lain. Dalam pemrograman Shell untuk
mendefinisikan sebuah variabel
tidak perlu diberikan bentuk atau jenis variabel tersebut,
tidak seperti di pemrograman C atau pemrograman Pascal karena dimana
variabel yang akan dibuat perlu didefinisikan terlebih dahulu tipenya, Dan di
dalam lingkup Shell
tipe variabel hanya ada satu jenis yaitu tipe string.
Contohnya dalam
penulisan variabel dan pemberian nilai dalam potongan program Shell sebagai
berikut :
Nama=Tika
Hobi=Menyanyi
Warna
Kesukaan=ungu
echo $Nama
echo $Hobi
echo $Warna Kesukaan
Keterangan:
Tanda ‘$’ memiliki
makna sebagai pengarah bahwa kata tersebut
merupakan sebuah variabel yang memiliki nilai.
Kalau isi mengandung
spasi, harus di dalam tanda petik " ".
Setelah tanda sama
dengan ("=") , jangan menggunakan spasi.
Contoh:
Nama=Tika (penulisan yang benar)
Nama= Tika (penulisan yang salah)
·
VARIABEL ENVIRONMENT
Environment variabel merupakan
variabel yang bawaan dari Shell itu sendiri, biasanya variabel tersebut berisi nilai-nilai yang
merupakan konfigurasi standar dalam lingkungan program Shell. Aturan penulisan dari environment
variable ialah semua nama
variabel menggunakan huruf kapital. lingkup dari variabel environment
adalah bersifat GLOBAL. Artinya
variabel environment berlaku
untuk semua Shell yang ada.
Contoh variabel environment adalah sebagai berikut :
LOGNAME=shell14 (variabel yang berisi nama login)
SHELL=/bin/bash (variabel yang berisi nama shell yang aktif)
HOME=/home/shell14 (variabel yang berisi nama direktori user)
USER=shell14 (variabel yang berisi nama user)
§ Untuk
mengetahui variabel apa saja yang ada dalam kelompok environment variable dapat
digunakan perintah berikut:
$ env ‘enter’
§ Untuk
merubah nilai dari variabel environment dapat dilakukan dengan menggunakan
perintah sebagai berikut :
$ export LOGNAME=mrbee ‘enter’
§ kemudian
hasilnya dapat dilihat dengan menggunakan perintah :
$ env | grep “LOGNAME”
§ Variabel
environment juga bisa dihapus atau dihilangkan dari lingkungan daftar variabel
environment dengan menggunakan perintah berikut :
$ unset LOGNAME
Variabel pada shell seperti juga bahasa pemrograman lainnya,
shell memilikikemampuan untuk menyimpan nilai ke dalam variabel. Sebuahvariabel
shell dapat diawali oleh alfabet atau karaktergaris bawah dan diikuti oleh nol
atau lebih alfanumerik ataukarakter garis bawah.
v
Array
pada shell
Array Pada Shell yaitu sekumpulan
variabel dengan tipe jenis dimana array ini merupakan Feature Bash yang cukup
indah dan salah satu hal yang cukup penting dalam bahasa pemrograman.
Array 1 : # ! /bin/bash
#array1
buah = {Angur, Pisang, Jeruk} ;
echo $ {buah[*]} ;
Hasilnya : [ fajar@linux$ ] . /array1.
Anggur, Pisang, Jeruk
v Manajemen Input Output
Output dengan Echo
Kalimat yang mengikuti echo akan ditampilkan di
layar, kemudian kursor pindah baris berikutnya tanda (opsi) –n antara
echo dengan kalimat digunakan agar kursor tidak pindah ke baris
berikutnya.
Contoh :
Output dengan Printf
vFunction
Pada Shell :
Function Pada Shell yaitu suatu program yang dapat
dipanggil oleh program lainnya dengan menggunakan notasi nama fungsi(). Fungsi
memberikan exit status ($?) uang yang dinyatakan dengan return nr atau nilai 0.
Contohnya : $ listdir()
{
echo "daftar file pada directory 'pwd' adalah :"
echo "---------------------------------------"
ls -l | more
}
$ listdir


Tidak ada komentar:
Posting Komentar