Rabu, 24 November 2010

Shell Script selain digunakan untuk membuat aplikasi yang berhubungan dengan sistem operasi, juga dapat digunakan untuk membuat software aplikasi berbasis web ataupun aplikasi untuk web. Dalam Konsepnya, shell dapat di masukan dengan berbagai macam bahasa pemrograman yang mana bahasa pemrograman tersebut harus memenuhi syarat yaitu mempunyai output atau keluaran.

Tentu saja bahasa pemrograman yang saya kenal rata-rata memiliki suatu keluaran. seperti C, Java, Gambas, Lazarus dan sebagainya. Dalam posting kali ini saya akan memberikan beberapa contoh script dari pemrograman shell untuk membangun suatu aplikasi.


Program #1

Beri nama file ini tanpa ekstensi. contoh cg7.

#!/bin/sh

echo "Content-type: text/html\n"

# read in our parameters

CMD=`echo "$QUERY_STRING" | sed -n 's/^.*cmd=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`

FOLDER=`echo "$QUERY_STRING" | sed -n 's/^.*folder=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"| sed "s/%2F/\//g"`

# our html header

echo "<html>"

echo "<head><title>Hello CGI</title></head>"

echo "<body>"

# test if any parameters were passed

if [ $CMD ]

then

case "$CMD" in

ifconfig)

echo "Output of ifconfig :<pre>"

/sbin/ifconfig

echo "</pre>"

;;

uname)

echo "Output of uname -a :<pre>"

/bin/uname -a

echo "</pre>"

;;

dmesg)

echo "Output of dmesg :<pre>"

/bin/dmesg

echo "</pre>"

;;

ls)

echo "Output of ls $FOLDER :<pre>"

/bin/ls -la "$FOLDER"

echo "</pre>"

;;

*)

echo "Unknown command $CMD<br>"

;;

esac

fi

# print out the form

echo "Choose which command you want to run"

echo "<form method=get>"

echo "<input type=radio name=cmd value=ifconfig checked> ifconfig <br>"

echo "<input type=radio name=cmd value=uname> uname -a <br>"

echo "<input type=radio name=cmd value=dmesg> dmesg <br>"

echo "<input type=radio name=cmd value=ls> ls -- folder <input type=text name=folder value=/home><br>"

echo "<input type=submit>"

echo "</form>"

echo "</body>"

echo "</html>"

Untuk menjalankan program di atas saya mengaktifkan aplikasi xampp saya dan menaruh nya pada directori /opt/lampp/cgi-bin. Sebelumnya pastikan file di atas telah anda beri hak akses dengan chmod +x.

Program #2

Program di bawah ini adalah program untuk membuat aplikasi form. Berikut scriptnya.

#!/bin/bash

echo "Content-type: text/html"

echo ""

echo '<html>'

echo '<head>'

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'

echo '<title>Form Example</title>'

echo '</head>'

echo '<body>'

echo "<form method=GET action=\"${SCRIPT}\">"\

'<table nowrap>'\

'<tr><td>Input</TD><TD><input type="text" name="val_x" size=12></td></tr>'\

'<tr><td>Section</td><td><input type="text" name="val_y" size=12 value=""></td>'\

'</tr></table>'

echo '<input type="radio" name="val_z" value="1" checked> Option 1<br>'\

'<input type="radio" name="val_z" value="2"> Option 2<br>'\

'<input type="radio" name="val_z" value="3"> Option 3'

echo '<br><input type="submit" value="Process Form">'\

'<input type="reset" value="Reset"></form>'

# Make sure we have been invoked properly.

if [ "$REQUEST_METHOD" != "GET" ]; then

echo "<hr>Script Error:"\

"<br>Usage error, cannot complete request, REQUEST_METHOD!=GET."\

"<br>Check your FORM declaration and be sure to use METHOD=\"GET\".<hr>"

exit 1

fi

#If no search arguments, exit gracefully now.

if [ -z "$QUERY_STRING" ]; then

exit 0

else

# No looping this time, just extract the data you are looking for with sed:

XX=`echo "$QUERY_STRING" | sed -n 's/^.*val_x=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`

YY=`echo "$QUERY_STRING" | sed -n 's/^.*val_y=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`

ZZ=`echo "$QUERY_STRING" | sed -n 's/^.*val_z=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`

echo "val_x: " $XX

echo '<br>'

echo "val_y: " $YY

echo '<br>'

echo "val_z: " $ZZ

fi

echo '</body>'

echo '</html>'

exit 0Seperti program #1 taruh program tersebut pada direktori /opt/lampp/cgi-bin.
Kalo kita mengamati 2 skrip program di atas, hanya menggunakan bahasa pemrograman html seperti biasa. Dan sangat jelas di 2 skrip program di atas menggunakan perintah echo. perhatikan skrip berikut [ echo "Content-type: text/html" ], skrip tersebut menunjukan jika konten dari skrip yang akan di jalankan bertipe html dan jika di jalankan akan menjalankan skrip dari html di atas melalui perintah echo. Berikut screen shoot nya dari program #2



Bagaimana mudah bukan belajar pemrograman shell? bahkan kita dapat memasukan berbagai macam bahasa pemrograman dalam satu skrip. Selanjutnya akan saya usahakan memberikan contoh-contoh program yang lain. Terima Kasih.

Salah satu aplikasi dari Gnu/linux bagi para blogger ini memang keren. Salah satu fiturnya adalah offline blogging. yang memungkinkan kita untuk nge-blog secara offline. Saya menggunakan blogilo di atas sistem operasi Ubuntu 10.04 Sabily Manarat. Cara installnya seperti biasa. masuk ke terminal, install dan selesai. tapi ada libs tambahan yang perlu di install, yakni libqt4-sql-sqlite agar si blogilo dapat berjalan. so ini dia keperluan untuk installasinya :

- $ sudo apt-get install blogilo

- $ sudo apt-get install libqt4-sql-sqlite

sekian posting kali ini, yang juga di postingkan melalui blogilo.