Dunia Linux atau umumnya keluarga unix mempunyai perbedaan jauh di bandingkan dengan system operasi lain, misalnya Microsoft Windows. Dikarenakan terbiasa dengan windows maka akan sangat sulit jika harus langsung berhadapan dengan linux. Secara teoritis sebelum menggunakan linux hal dasar yang harus di ketahui ialah istilah-istilah yang ada di Linux. Shell salah satu istilah yang umum diperbincangkan tapi banyak juga yang sampai detik ini belum mempunyai gambaran jelas, padahal shell ialah tempat konfigurasi dan menjalankan / mengoperasikan Linux.

Distro (distribusi) linux sekarang ini telah dikembangkan oleh para developer untuk membuat Linux secantik mungkin. Dengan tujuan agar linux digemari dan masyarakat mulai beralih ke sebuah babak baru; open source. Dengan menyertakan berbagai kecantikan dari window manager seperti KDE, Gnome maka banyak pemula linux yang mengabaikan keberadaan shell. Shell tidak ditujukan bagi seorang admin tapi juga bagi pengguna linux tanpa kecuali.(Pengantar Belajar Unix)
  • Shell
Shell adalah program khusus yang bisa digunakan untuk berinteraksi dengan kernel. Kernel yang dimaksud adalah kernel sistem operasi yang sedang aktif. 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 di dalam 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. Berikut ini macam-macam nama shell dalam Linux.
1. Bourne Shell
2. C shell
3. Korn shell
4. dsb.


Untuk melihat jenis Shell apa saja yang ada dalam sebuah system operasi Linux dapat dialkukan dengan menuliskan perintah berikut.
$ls /etc/shells

Keterangan :

  1. Perintah ls /etc/shells digunakan untuk melihat jenis Shell apa saja yang terinstall dalam sistem operasi Linux yang digunakan. jika yang ada dalam direktori tersebut kurang dari daftar yang ada di table maka perlu ditambahkan dengan menginstall Shell yang diinginkan. Sedangkan untuk mengetahui jenis Shell apa yang sedang aktif saat ini, dapat digunakan perintah berikut.
$ echo $shell
Keterangan :
  1. Perintah echo $shell digunakan untuk melihat jenis Shell yang sedang aktif saat ini.
  • Bekerja Dengan Shell

Pada saat seorang user login di Linux, atau berada dalam sebuah terminal console Linux, pada saat itu juga di terminal console, user dapat menuliskan sebuah skrip Shell dan kemudian akan langsung dieksekusi. Konsep inilah yang kemudian dikenal dengan Command Line Processing. Command Line Processing dalam sebuah sistem pemrogram disebut juga dengan Shell interaktif. Ini merupakan salah satu cara bekerja dengan Shell. Selain itu juga skrip Shell dapat dituliskan ke dalam sebuah file dan kemudian dipanggil untuk dieksekusi, konsep ini disebut dengan program Shell.

  • Shell Interaktif

Shell interaktif adalah skrip Shell yang langsung dijalankan pada terminal console Linux. Cara ini sebenarnya bisa memudahkan seorang user untuk mencoba apakah skrip Shell yang dimaksud telah ditulis dengan benar, dan keluaran yang dihasilkan juga telah sesuai dengan yang diinginkan. Hal lain lagi dari proses Shell interaktif ini kemungkinannya adalah bahwa user hanya membutuhkan proses yang sekali saja. Berikut ini contoh Shell interaktif dalam terminal consol Linux :
$ echo $PATH ‘enter’
/home/gsa12/bin:/usr/ucb:/usr/bin:/usr/local/bin:

Keterangan :
1. echo $PATH adalah perintah untuk menampilkan isi yang ada dalam
Variable yang bernama PATH. Variabel berisi daftar beberapa path
yang dipisahkan dengan tanda ‘:’.


Contoh lain lagi dari Shell interaktif adalah :
Tulis kode berikut ini langsung diterminal console
case “$-” in
*i*) echo inilah shell interaktif ;;
*) echo ini juga shell interaktif ;;
esac
keluaran dari Shell interaktif tersebut adalah :
ini shell interaktif

  • Program Shell

Selain Shell interaktif skrip Shell juga bisa ditulis dalam sebuah file dan kemudian dieksekusi dengan cara memanggil file tersebut. File ini juga bias dengan nama program Shell atau skrip Shell. Ditinjau dari hasil eksekusi tidak ada yang berbeda antara skrip Shell dengan Shell interaktif. Yang berbeda adalah cara penulisan dan eksekusi.
Berikut ini contoh skrip Shell :
Tulis skrip berikut dengan menggunakan editor VIM dengan nama coba.
#!/bin/bash
echo “halo $LOGNAME , senang bertemu denganmu”
echo “direktori anda saat ini `pwd`”
echo “anda bekerja di mesin `uname –a`”
kemudian setelah file disimpan dan keluar dari editor
$ chmod 755 coba ‘enter’
$ ./coba ‘enter’
Keterangan :
  1. echo perintah ini digunakan untuk menampilkan sebuah string. Dalam string tersebut mengandung variabel LOGNAME yang merupakan variabel environment yang berisi nama user yang login.
  2. Baris kedua sama juga dengan perintah baris pertama, namun string yang ditampilkan mengandung hasil keluaran dari perintah PWD, dimana perintah PWD adalah untuk menampilkan direktori kerja saat ini.
  3. Baris ketiga adalah menampilkan string yang mengandung hasil keluaran dari perintah uname –n, dimana perintah ini berfungsi untuk menampilkan informasi tentang spesifikasi versi kernel.
  4. chmod 755 adalah perintah di Linux untuk merubah tipe file menjadi file eksekusi.
  5. coba adalah perintah untuk menjalankan skrip shell dengan memanggil nama file yaitu coba.

  • Variabel
Variabel adalah tempat untuk menyimpan sebuah data. Seperti halnya bahasa pemrograman yang lain, Shell juga memiliki variabel. Ada dua jenis variable dalam Shell yaitu variabel lokal dan variabel environtment.

  • Varibel Lokal
Yang dimaksud dengan variabel lokal adalah variabel yang nilainya langsung diisikan. Tipe nilai dari variable ini bisa bermacam-macam, ada yang bertipe numerik dan ada juga yang bertipe karakter atau alphanumerik. 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 dipemrograman C atau Pascal dimana variabel yang akan dibuat perludidefinisikan terlebih dahulu tipenya, Dan di dalam lingkup Shell tipe variable hanya ada satu jenis yaitu tipe string.
Contoh dalam penulisan variabel dan pemberian nilai dalam potongan
program Shell sebagai berikut :
ucapan=selamat
hasil=dua
awal=”tidak ada”
echo $ucapan
echo $hasil
echo $awal
Keterangan :
  1. Baris pertama mendefinisikan variabel bernama ucapan dan memberikan nilai dari variabel sama dengan selamat.
  2. Mendefinisikan variabel bernama hasil dengan nilai sama dengan dua.
  3. Mendefinisikan variabel bernama awal dengan nilai sama dengan “tidak ada”. Untuk nilai variabel ini harus diberi tanda petik karena nilai yang diberikan mengandung karakter spasi.
  4. Baris ke-4 menampilkan isi dari variabel yang bernama ucapan.
  5. Baris ke-5 menampilkan isi dari variabel yang bernama hasil.
  6. Baris ke-6 menampilkan isi dari variabel yang bernama awal.

Pada potongan kode tersebut tampak ada penggunaan tanda ‘$’ sebelum nama variabel dituliskan. Tanda ‘$’ memiliki makna sebagai pengarah bahwa kata tersbut adalah sebuah variabel yang memiliki nilai. Contoh jika diinginkan sebuah variabel dengan nama nawir dan nilainnya sama dengan halo maka dapat dituliska sebagai berikut :

Nawir=halo


Untuk mengakses isi dari variabel tia digunakan tanda ‘$’ sebagai pengarah, sehingga untuk menampilkan isi dari variabel tia dapat dituliskan :
echo $Nawir

Selain itu juga ada beberapa batasan dalam menuliskan variabel dan pemberian nilai variabel di dalam program Shell. Yang pertama adalah bahwa nilai sebuah variabel tidak boleh mengandung spasi, jika memang diperlukan maka dapat digunakan tanda petik untuk mendefinisikan nilai variabel.
Contoh :
Nawir=halo (penulisan yang benar)
Nawir= halo (penulisan yang salah karena mengandung spasi)
edi=satu dua (penulisan yang salah karena mengandung spasi)
edi=”satu dua”(penulisan yang benar)

Kedua adalah batasan mengenai penggunaan nilai variabel yang mengandung metakarakter. Metakarakter adalah satu karakter yang memiliki makna perintah dalam Shell. Sehingga jika dalam sebuah string terdapat metakarater maka akan diinterprentasikan sebagai sebuah perintah. Untuk lebih jelas mengenai metakarakter ada dalam bagian lain dari bab ini.


  • Variabel Environment

Environment variabel adalah variabel yang merupakan bawaan dari Shell itu sendiri, biasanya variabel ini berisi nilai-nilai yang merupakan konfigurasi standar dalam lingkungan program Shell. Aturan penulisan dari environment variable adalah 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’

Merubah nilai variabel environment
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”
Menghapus variabel environment
Variabel environment juga bisa dihapus atau dihilangkan dari lingkungan daftar variabel environment dengan menggunakan perintah berikut :
$ unset LOGNAME

  • Ruang Lingkup Variabel Dalam Shell

Yang dimaksud dengan ruang lingkup adalah sejauh mana sebuah variable yang didefinisikan berlaku bagi program shell dibuat. Dipemrograman lain seperti C ada variabel lokal yang hanya berlaku di dalam sebuah file skrip C, ada juga variabel global yang bisa berlaku bagi skrip C yang lain walaupun berada dalam file lainnya.

Di program Shell lingkup dari sebuah variabel yang didefinisikan berlaku lokal. Lokal yang dimaksud adalah dalam suatu Shell saja. Jika dalam sebuah Shell dibuat lagi sub-Shell maka variabel tersebut sudah tidak berlaku nilainya. Sedangkan variabel environment memiliki lingkup GLOBAL, yang dimaksud dengan global adalah semua variabel berlaku dan bernilai sama disemua file skrip Shell yang dibuat.
Contoh variabel LOGNAME yang memiliki nilai nama login user, akan mempunya nilai yang sama walaupun diakses dari file skrip lainnya.

  • Parameter posisional
Parameter posisional adalah sebuah nilai yang diberikan dimana nilai tersebut dianggap sebagai isi dari sebuah variabel dalam serangkaian argument dari sebuah command line. Contoh berikut adalah gambaran dari definisi argumen :
$ set bee ivo ant ‘enter’
keterangan :
1. set merupakan sebuah perintah
2. bee adalah argumen ke 1.
3. ivo adalah argumen ke 2.
4. ant adalah argumen ke 3.

BASH Shell memiliki beberapa simbol yang merupakan representasi dari posisi sebuah variabel dalam serangkaian argumen. Berikut ini symbol posisional parameter :

Parameter posisional Arti
$0 Nama skrip shell yang dijalankan
$1-$9 Melambangan posisinal parameter 1 sampai 9
$# Melambangkan jumlah posisional parameter
$* Melambangkan semua posisional parameter yg ada
$@ Sama dengan $* terkecuali ada tanda “”
“$*” Sama dengan S* berlaku didalam “”
“S@”
Pada contoh kasus berikut :
$ set bee ivo ant ‘en ‘enter’
$ echo $* ‘enter’
bee ivo ant
$ echo $1 ‘enter’
bee
$ echo $# ‘enter’
3
keterangan :
1. perintah set digunakan untuk memberikan nilai pada posisional parameter.
2. $* menyimpan nilai dari semua posisional variabel berturut-turut bee ivo ant
3. $1 menyimpan nilai dari posisional varabel ke-1 yaitu bee
4. $# menyimpan nilai jumlah posisional parameter yaitu sebanyak 3.

  • Varibel khusus
Shell juga memiliki variabel khusus yang terdiri sebuah karakter tunggal. Karakter tunggal yang memiliki makna dalam lingkungan Shell tersebut adalah :
Variabel Arti
$ PID dari Shell
- Option sh yang sedang aktif
? Status exit value untuk perintah yang terakhir dijalankan
! PID proses terakhir yang berjalan di background

Dengan adanya karakter tunggal yang merupakan variabel khusus ini user dapat memanfaatkan untuk mempersingkat penulisan.
Contoh :
$ echo PID dari shell ini adalah $$ ‘enter’
PID dari shell ini adalah 212


Keterangan :
1. Tanda $ pertama adalah pengarah pada sebuah variabel
2. Tanda $ kedua adalah variabel PID Shell.

  • Metakarakter Dalam Shell
Metakarakter adalah sebuah karakter yang memiliki arti tertentu. Dalam Shell juga dikenal beberapa metakarakter. Karena metakarakter juga ada dalam Shel maka yang perlu diperhatikan adalah kesalahan dalam penanganan sebuah karakter. Dalam sebuah kasus mencetak sebuah strin di layar monitor, terkadang terjadi kasus dimana dari salah satu karakter dalam string tersebut merupakan metakarater. Karena mengandung metakarakter maka Shell akan menginterpretasikan string tersebut tidak seperti yang diharapkan.
Contoh kasus :
$ echo don’t miss it ‘enter’
> ‘ ‘enter’
dont miss it
Keterangan :
  1. Tanda ‘ dinterpretasikan sebagai serangkaian string sehingga Shell akan menunggu sampai tanda ‘ berikutnya untuk berhenti dan kemudian menampilkannya. Jika maksudnya adalah untuk mencetak string “don’t miss it” maka yang perlu diperhatikan adalah $ echo don\’t miss it ‘enter’ don’t miss it

Keterangan :
  1. \ merupakan karakter yang meloloskan interpretasi tanda ‘ yang merupakan metakarakter dalam Shell.
  2. Karakter \ dikenal dengan istilah quoting dalam Shell

Berikut tabel daftar metakarakter yang ada dalam lingkungan Shell :
Metakarakter Arti
\ Literal, karakter berikutnya akan dimaknai sebagai karakter
& Proses yang berjalan di background (DAEMON)
; Tanda pemisah antara dua buah perintah
$ Karakter subtitusi variabel
? Matching satu karakter
[abc] Matching satu karakter dalam sekumpulan karakter
[!abc] Matching satu karakter tidak dalam sekumpulan karakter
* Matching 0 karakter atau lebih
(perintah) Sekumpulan perintah yang dijalankan di sub-Shell
{perintah} Sekumpulan perintah yang dijalankan di Sheel saat itu
> Pengarah output
<>> test.txt
$ cat test.txt

kalimat ini saya tulis dari coba.txt
tanda >> berarti memasukkan suatu kejadian. Misalnya dari contoh diatas , perintah
$more coba.txt >> test.txt berarti
pertama kali yang dilakukan dengan perintah diatas ialah melihat isi file (more) dari coba.txt setelah itu
hasil eksekusinya di masukkan (>>) ke test.txt. Tanda >> berarti tidak meng-overwrite isi file yang
terdapat pada test.txt . Tetapi jika anda hanya menggunakan tanda > saja, maka isi file test.txt akan di
hapus diganti dengan isi file coba.txt












Share this post
No Responses to " "

Profil Saya

Foto saya
Belajar, Semangat itu kan tetap ada

statistik