Banyak
pertanyaan dari teman - teman ketika mereka gemar berkujung ke dunia IRC,
awalnya seh IRC sarana untuk cari gebetan, teman, ato bahkan musuh ?!!
eit...!!! yang terakir jangan yach. Tapi seiring waktu berjalan mereka mulai
tertarik dengan aksesories yang ada pada IRC seperti psyBNC dan Eggdrop (
contoh program yang in di IRC ), suatu saat ada seseorang bertanya pada kami
" mas, bagaimana cara buat Bot / Eggdrop.. ?? " nah, bagaimana tuh
ngejelasinnya, langkah pertama yang kami tanyakan adalah "Apakah kamu
sudah memiliki shell ..?? " mereka pun balik bertanya, "Apa itu shell
..?? " nah lo...!! gimana coba jelasinnya gini ?? -.-!
Dengan banyaknya pertanyaan - pertanyaan seperti diatas tadi, kami sedikit berbagi informasi mengenai "Shell" apa itu shell ... ?? ikuti informasinya dibawah ini :
Dengan banyaknya pertanyaan - pertanyaan seperti diatas tadi, kami sedikit berbagi informasi mengenai "Shell" apa itu shell ... ?? ikuti informasinya dibawah ini :
- Pendahuluan
Apa itu shell ? shell
adalah program (penterjemah perintah) yang menjembatani user dengan sistem
operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan
prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah
yang diinginkan baik berupa perintah internal shell (internal command), ataupun
perintah eksekusi suatu file progam (eksternal command), selain itu shell
memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file
untuk dieksekusi sebagai program.
- 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.
Masing
- masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan
pada kebutuhan pemakai yang makin hari makin meningkat, untuk dokumentasi ini
shell yang digunakan adalah bash shell dari GNU, yang merupakan pengembangan
dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell
serta Korn shell, Bash shell merupakan shell yang cukup banyak digunakan
pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang
disediakan.versi bash shell yang saya gunakan adalah 2.04
[admin@linux$]echo
$BASH_VERSION
bash 2.04.12(1)-release
Mungkin
saat anda membaca dokumentasi ini versi terbaru dari bash sudah dirilis dengan
penambahan feature yang lain.
- 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.
- Kebutuhan dasar Shell
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. ls >> data
hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
cat <>
file data dijadikan input oleh perintah cat - 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 pake ls -l -r saja ls -l | sort -s | more
cat 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
- Simple bash scripts
Langkah
awal sebaiknya periksa dulu shell aktif anda, gunakan perintah ps (report
process status)
[admin@linux$]ps
PID TTY TIME CMD
219 tty1 00:00:00 bash
301 tty1 00:00:00 ps
bash
adalah shell aktif di system saya, jika disystem anda berbeda misalnya csh atau
ksh ubahlah dengan perintah change shell
[admin@linux$]chsh
Password:
New shell
[/bin/csh]:/bin/bash
Shell changed
atau
dengan mengetikkan bash
[admin@linux$]bash
sekarang
coba anda ketikkan perintah dibawah ini pada prompt shell
echo
"Script shell pertamaku di linux"
[admin@linux$]echo “Script
shell pertamaku di linux”
Script shell pertamaku di
linux
string
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/bashecho "Hello, apa khabar"
- simpan dengan nama file tes
- ubah permission file tes menggunakan chmod[admin@linux$]chmod 755 tes
- jalankan
[admin@linux$]./tes
kapan
saja anda mau mengeksekusinya tinggal memanggil file tes tersebut, jika
diinginkan mengeset direktory kerja anda sehingga terdaftar pada search path
ketikkan perintah berikut
PATH=$PATH:.
setelah
itu script diatas dapat dijalankan dengan cara
[admin@linux$]tes
Hello, apa khabar
tanda
#! 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.
[admin@linux$]bash tes
tentunya
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
contoh
scriptnya:
#!/bin/bash
#myinfo
#membersihkan tampilan
layar
clear
#menampilkan informasi
echo -n "Waktu
system :"; date
echo -n "Anda :"; whoami
echo -n "Banyak
pemakai :"; who | wc -l
sebelum
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 : admin
Banyak pemakai : 2
tentunya
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
Oi..
Bro , sedikit pengetahuan mengenai "Shell" berhubung penjelasannya
padet banged, dan kalo dijelasin pada posting ini mungkin kurang efektif dan
juga terlalu panjang, kalian dapat melanjutkan informasi diatas dengan bertanya
lagi ke om google yach..heheh
0 comments:
Post a Comment