Home » Linux

Kenali shell script. Bina skrip yang mudah dan ringkas

11 November 2014 2 Comments

RHELBayangkan 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
ls

wq << 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



2 Comments »

  • admin (author) said:

    Lama dah tulis script ni. Republish balik saja ni.

  • Shell script untuk backup MySQL dan InnoDB bagi Cpanel server | http://inertz.com said:

    […] Shell script yang aku biasa pakai untuk backup MySQL database ataupun InnoDB database untuk kegunaan sendiri ataupun sesiapa yang memerlukan.  Kalau setakat nak dump 1-2 database command ‘mysqldump’ dah cukup. Tapi macam mana pulak yang ada beratus database dalam 1 server. Penat la nak dump semua kalau tak ada script yang berguna macam ni. […]

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.