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
>pwd
>ls
bukankah mudah sekiranya anda dapat menggabungkan ketiga â€tiga arahan ini kedalam satu fail:
>vi test1.sh
Kemudian dalam fail ini anda taipkan
date
pwd
lswq << tekan Escape kemudian w,q
Arahan wq adalah untuk write dan quit , 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.”
Simpan 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 ++++++++++++++++++++++++++++++++++++++++++++++++
Simpan 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
Lama dah tulis script ni. Republish balik saja ni.