Bayangkan anda berada di negara Myanmar dimana anda tidak fasih berbahasa Myanmar. Anda menggaji seorang penterjemah untuk membantu anda berkomunikasi dengan pernduduk tempatan. Anda memberitahu penterjemah anda apa yang anda perlu buat, dimana anda perlu pergi, dan sebagainya.Shell (juga boleh dikenali sebagai penterjemah arahan) juga berfungsi seperti ini. Ia mengambil arahan daripada anda kemudian menterjemah arahan yang diberikan kepada bahasa yang boleh difahami oleh komputer. Anda biasa menaip arahan seperti ini: >date bukankah mudah sekiranya anda dapat menggabungkan ketiga –tiga arahan ini kedalam satu fail: >vi test1.sh Kemudian dalam fail ini anda taipkan date <Esc>wq << tekan Escape kemudian w,q savekan fail tersebut, kemudian laksanakan arahan >sh test1.sh lihat apa yang berlaku. Kemudian anda cuba pula dengan skrip ini. Gunakan editor kwrite,vi,atau apa saja editor kegemaran anda. >kwrite test2.sh Taipkan skrip ini #bermain dengan skrip mudah echo "" echo "Maklumat tentang sistem: `uname -a`" date echo "" echo "Saya adalah $0" # pembolehubah terbina dalam echo "Anda berikan saya $# parameter: "$* echo "Parameter pertama adalah: "$1 echo -n "Siapa nama anda? " ; read nama_saya echo Perhatikan perbezaan ini : "hai $nama_saya" # quote dengan " echo Perhatikan perbezaan ini : 'hai $nama_saya' # quote dengan ' DIR=0 ; FAIL=0 for fail in `ls .` ; do if [ -d ${fail} ] ; then # kalau fail adalah direktori DIR=`expr $DIR + 1` # DIR = DIR + 1 elif [ -f ${fail} ] ; then FAIL=`expr $FAIL + 1` fi case ${fail} in *.gif|*.jpg|*.png) echo "${fail}: fail grafik" ;; *.txt|*.tex) echo "${fail}: fail teks" ;; *.c|*.f|*.for) echo "${fail}: kod sumber" ;; *) echo "${fail}: fail biasa" ;; esac done echo "terdapat ${DIR} direktori dan ${FAIL} fail" ls | grep "ZxY--%%WKW" if [ $? != 0 ] ; then echo "ZxY--%%WKW tidak dijumpai" fi echo "taip man bash untuk lebih maklumat." Savekan fail. Kemudian laksanakan fail tersebut dengan arahan: >sh test2.sh > Maklumat tentang sistem: Linux linux 2.4.18-4GB #1 Sun Jan 19 00:01:13 MYT 2003 i686 unknown Thu Jan 30 13:51:07 MYT 2003 Saya adalah test2.sh Anda berikan saya 0 parameter: Parameter pertama adalah: Siapa nama anda? Azman Wan Aidil Perhatikan perbezaan ini : hai Azman Wan Aidil Perhatikan perbezaan ini : hai $nama_saya BYOLinux1.0.txt: fail teks Boss2002: fail biasa Desktop: fail biasa MyMusic: fail biasa QLOG: fail biasa SM56_5.1_I386.rpm: fail biasa banner.gif: fail grafik boss.zip: fail biasa cronos: fail biasa cronos-stable-1.2.tar.gz: fail biasa cyrus: fail biasa cyrus-DR16.tar.gz: fail biasa diagnostic_log.txt: fail teks firewall.off: fail biasa firewall.on: fail biasa jurnal.kwd: fail biasa jurnal.kwd~: fail biasa kvirc: fail biasa laporan.sh: fail biasa llehSuneMktG: fail biasa minicom.log: fail biasa netsaint-0.0.7: fail biasa office52: fail biasa output: fail biasa plugin131.trace: fail biasa render.jpg: fail grafik sm56-5.1.1.orig: fail biasa squid-2.4.STABLE6: fail biasa test.sh: fail biasa test.txt: fail teks winetools: fail biasa ymessenger-0.99.19-1.i386.rpm: fail biasa terdapat 10 direktori dan 22 fail ZxY--%%WKW tidak dijumpai taip man bash untuk lebih maklumat.
Pada terminal taipkan arahan ini: >kwrite laporan.sh
Satu aplikasi iaitu kwrite akan dibuka dengan nama fail laporan.sh. Kemudian taip seperti apa yang dibawah ini:
echo echo Laporan pengguna yang login kedalam sistem LINUX echo ++++++++++++++++++++++++++++++++++++++++++++++++ date echo ++++++++++++++++++++++++++++++++++++++++++++++++ echo cut -f 1,5 -d: /etc/passwd | sed -e 's/:/ - /' echo ++++++++++++++++++++++++++++++++++++++++++++++++
Savekan fail tersebut.
Kemudian tetapkan attribute supaya boleh dilaksanakan >chmod 755 laporan.sh ataupun >chmod u=rwx,g=rx,o=rx laporan.sh
Laksanakan fail tersebut >sh laporan.sh Laporan pengguna yang login kedalam sistem LINUX Fri an 24 10:27:28 MYT 2003 ++++++++++++++++++++++++++++++++++++++++++++++++ root - root bin - bin daemon - Daemon lp - Printing daemon mail - Mailer daemon news - News system uucp - Unix-to-Unix CoPy system games - Games account man - Manual pages viewer at - Batch jobs daemon postgres - Postgres database admin mdom - Mailing list agent wwwrun - WWW daemon apache squid - WWW proxy squid fax - Facsimile agent gnats - Gnats GNU backtracking system adabas - Adabas-D database admin amanda - Amanda admin irc - IRC daemon ftp - FTP account firewall - Firewall account named - Nameserver daemon fnet - FidoNet account gdm - Gnome Display Manager daemon postfix - Postfix daemon cyrus - IMAP daemon oracle - Oracle database admin mysql - MySQL database admin dpbox - DpBox account ingres - Ingres database admin zope - Zope daemon vscan - Vscan account wnn - Wnn system account pop - POP admin perforce - Perfoce admin sapdb - SAPDB demo account db4web - DB4Web account nobody - nobody inertz - azman aidil ++++++++++++++++++++++++++++++++++++++++++++++++
Untuk meletakkan output kedalam fail lain sila taip >sh laporan.sh > output.txt
Semua output akan disimpan didalam fail output.txt |