Macam - macam shell?
Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain:- Bourne shell(sh),
- C shell(csh),
- Korn shell(ksh),
- Bourne again shell(bash),
- dsb.
[fajar@linux$]echo $BASH_VERSION bash 2.04.12(1)-releaseMungkin saat anda membaca dokumentasi ini versi terbaru dari bash sudah dirilis dengan penambahan feature yang lain.
2. Pemrograman Shell ?
Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan proses I/O, menyeleksi kondisi, looping, membuat fungsi, dsb. adalah proses - proses yang umumnya dilakukan oleh suatu bahasa pemrograman, jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman, untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai script shell.3. Kebutuhan Dasar
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, seperticd, 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.
ls >> data
hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
cat < data
file data dijadikan input oleh perintahcat
- pipa (output suatu perintah menjadi input perintah lain), operatornya :
|
, contoh:ls -l | sort -s
ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pakels -l -r
saja :-)
ls -l | sort -s | more
cat <data | sort > databaru
- Wildcard dengan karakter
*, ?, [ ]
, contohnya:ls i*
tampilkan semua file yang dimulai dengan i
ls i?i
tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
ls [ab]*
tampilkan file yang dimulai dengan salah satu karakter a atau b
4. Simple Bash Script
Langkah awal sebaiknya periksa dulu shell aktif anda, gunakan perintah ps (report process status)[fajar@linux$]ps PID TTY TIME CMD 219 tty1 00:00:00 bash 301 tty1 00:00:00 psbash adalah shell aktif di system saya, jika disystem anda berbeda misalnya
csh
atau
ksh
ubahlah dengan perintah
change shell
[fajar@linux$]chsh Password: New shell [/bin/csh]:/bin/bash Shell changedatau dengan mengetikkan
bash
[fajar@linux$]bashsekarang coba anda ketikkan perintah dibawah ini pada prompt shell
echo "Script shell pertamaku di linux"
[fajar@linux$]echo "Script shell pertamaku di linux" Script shell pertamaku di linuxstring yang diapit tanda kutip ganda (double quoted) akan ditampilkan pada layar anda,
echo
adalah
statement (perintah) built-in bash yang berfungsi menampilkan informasi
ke standard output yang defaultnya adalah layar. jika diinginkan
mengulangi proses tersebut, anda akan mengetikkan kembali perintah tadi,
tapi dengan fasilitas history cukup menggunakan tombol panah kita sudah
dapat mengulangi perintah tersebut, bagaimana jika berupa kumpulan
perintah yang cukup banyak, tentunya dengan fasilitas hirtory kita akan
kerepotan juga mengulangi perintah yang diinginkan apalagi jika selang
beberapa waktu mungkin
perintah-perintah tadi sudah tertimpa oleh perintah lain karena history
mempunyai kapasitas penyimpanan yang ditentukan. untuk itulah sebaiknya
perintah-perintah tsb disimpan ke sebuah file yang dapat kita panggil
kapanpun diinginkan.coba ikuti langkah - langkah berikut:
- Masuk ke editor anda, apakah memakai vi,pico,emacs,dsb...
- ketikkan perintah berikut
#!/bin/bash echo "Hello, apa khabar"
- simpan dengan nama file tes
- ubah permission file tes
menggunakan
chmod
[fajar@linux$]chmod 755 tes
- jalankan
[fajar@linux$]./tes
PATH=$PATH:.setelah itu script diatas dapat dijalankan dengan cara
[fajar@linux$]tes Hello, apa khabartanda
#!
pada
/bin/bash
dalam script tes adalah perintah yang diterjemahkan ke kernel linux
untuk mengeksekusi path yang disertakan dalam hal ini program
bash
pada direktory
/bin
, sebenarnya tanpa mengikutkan baris tersebut anda
tetap dapat mengeksekusi script bash, dengan catatan bash adalah shell
aktif. atau dengan mengetikkan bash pada prompt shell.[fajar@linux$]bash testentunya cara ini kurang efisien, menyertakan path program bash diawal script kemudian merubah permission file sehingga dapat anda execusi merupakan cara yang paling efisien.
Sekarang coba kita membuat script shell yang menampilkan informasi berikut:
- Waktu system
- Info tentang anda
- jumlah pemakai yang sedang login di system
#!/bin/bash #myinfo #membersihkan tampilan layar clear #menampilkan informasi echo -n "Waktu system :"; date echo -n "Anda :"; whoami echo -n "Banyak pemakai :"; who | wc -lsebelum dijalankan jangan lupa untuk merubah permission file myinfo sehingga dapat dieksekusi oleh anda
[fajar@linux$]chmod 755 myinfo [fajar@linux$]./myinfo Waktu system : Sat Nov 25 22:57:15 BORT 2001 Anda : fajar Banyak pemakai : 2tentunya layout diatas akan disesuaikan dengan system yang anda gunakan statement
echo
dengan opsi
-n
akan membuat posisi kursor untuk tidak berpindah ke baris baru karena secara default statement
echo
akan mengakhiri proses pencetakan ke standar output dengan karakter
baris baru (newline), anda boleh mencoba tanpa menggunakan opsi
-n, dan lihat perbedaannya. opsi lain yang dapat digunakan adalah
-e
(enable), memungkinkan penggunaan backslash karakter atau karakter sekuen seperti pada bahasa C atau perl, misalkan :echo -e "\abunyikan bell"jika dijalankan akan mengeluarkan bunyi bell, informasi opsi pada statement
echo
dan backslash
karakter selengkapnya dapat dilihat via man di prompt shell.[fajar@linux$]man echo
5. Pemakaian Variabel
Secara sederhana variabel adalah pengenal (identifier) berupa satuan dasar penyimpanan yang isi atau nilainya sewaktu-waktu dapat berubah baik oleh eksekusi program (runtime program) ataupun proses lain yang dilakukan sistem operasi. dalam dokumentasi ini saya membagi variabel menjadi 3 kategori:- Environment Variable
- Positional Parameter
- User Defined Variable
0 komentar:
Posting Komentar