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.