Kusafiri Kupitia Ulimwengu wa Linux BASH Maandishi - Sehemu ya Tatu
Nakala zifuatazo za awali za mfululizo wa ‘Shell Scripting’ zilithaminiwa sana na kwa hivyo ninaandika makala haya ili kupanua mchakato usioisha wa kujifunza.
- Elewa Vidokezo vya Msingi vya Lugha ya Uandishi wa Shell ya Linux - Sehemu ya I
- Hati 5 za Shell za Linux Wapya Kujifunza Utayarishaji wa Shell - Sehemu ya II
Neno kuu ni neno au ishara ambayo ina maana maalum kwa lugha ya kompyuta. Alama na maneno yafuatayo yana maana maalum kwa Bash wakati hayajanukuliwa na neno la kwanza la amri.
! esac select } case fi then [[ do for until ]] done function while elif if time else in {
Tofauti na lugha nyingi za kompyuta, Bash huruhusu maneno muhimu kutumika kama majina tofauti ingawa hii inaweza kufanya maandishi kuwa magumu kusoma. Ili kuweka hati kueleweka, maneno-msingi hayafai kutumika kwa majina tofauti.
Amri inatekelezwa kwa ganda kama $(command). Huenda ukalazimika kujumuisha njia kamili ya amri. k.m., $ (/bin/date), kwa utekelezaji sahihi.
Unaweza kujua njia ya programu maalum kwa kutumia amri ya 'whereis'. k.m., tarehe iko wapi
whereis date date: /bin/date /usr/share/man/man1/date.1.gz
Inatosha kwa sasa. Hatutazungumza sana juu ya nadharia hizi sasa. Kuja kwa Hati.
Sogeza Saraka ya Sasa ya Kufanya Kazi
Sogeza kutoka saraka ya sasa ya kufanya kazi hadi ngazi yoyote juu kwa kutoa tu thamani ya nambari mwishoni mwa hati wakati wa kutekeleza.
#! /bin/bash LEVEL=$1 for ((i = 1; i <= LEVEL; i++)) do CDIR=../$CDIR done cd $CDIR echo "You are in: "$PWD exec /bin/bash
Hifadhi misimbo iliyo hapo juu kama up.sh, kwenye eneo-kazi lako. Ifanye itekelezwe (chmod 755 up.sh). Endesha:
./up.sh 2 (itasogeza saraka ya sasa ya kufanya kazi hadi ngazi mbili).
./up.sh 4 (itasogeza saraka ya sasa ya kufanya kazi hadi ngazi nne juu).
Katika hati kubwa zaidi zilizo na folda ndani ya folda ndani... iliyo na maktaba, jozi, ikoni, vinavyoweza kutekelezwa, n.k katika eneo tofauti, Wewe kama msanidi unaweza kutekeleza hati hii ili kuhamia eneo unalotaka kwa mtindo wa kiotomatiki.
Kumbuka: Kwa maana ni kitanzi kwenye hati iliyo hapo juu na itaendelea kutekeleza hadi maadili yawe kweli kwa kitanzi.
chmod 755 up ./up.sh 2 You are in: / ./up.sh 4 You are in: /
Unda Faili au Folda ya Nasibu
Unda faili nasibu (folda) bila nafasi ya kurudia.
#! /bin/bash echo "Hello $USER"; echo "$(uptime)" >> "$(date)".txt echo "Your File is being saved to $(pwd)"
Hii ni hati Rahisi lakini inafanya kazi sio rahisi sana.
- ‘echo‘ : Huchapisha kila kitu kilichoandikwa ndani ya manukuu.
- ‘$‘ : Ni muundo wa ganda.
- ‘>>’ : Toleo linaelekezwa kwingine hadi kwenye pato la amri ya tarehe ikifuatiwa na kiendelezi cha txt.
Tunajua matokeo ya amri ya tarehe ni tarehe, na wakati katika saa, dakika, pili pamoja na mwaka. Kwa hivyo tunaweza kupata pato kwa jina la faili lililopangwa bila nafasi ya kurudia jina la faili. Inaweza kuwa muhimu sana wakati mtumiaji anahitaji faili iliyoundwa na stempu ya wakati kwa marejeleo ya baadaye.
./randomfile.sh Hello server Your File is being saved to /home/server/Desktop
Unaweza kutazama faili ambayo imeundwa kwenye eneo-kazi kwa kutumia Tarehe ya Leo na wakati wa sasa.
nano Sat\ Jul\ 20\ 13\:51\:52\ IST\ 2013.txt 13:51:52 up 3:54, 1 user, load average: 0.09, 0.12, 0.08
Utekelezaji wa kina zaidi wa hati iliyo hapo juu imetolewa hapa chini, ambayo inafanya kazi kwa kanuni hapo juu na ni muhimu sana katika kukusanya taarifa za mtandao wa seva ya Linux.
Hati ya Kukusanya Taarifa za Mtandao
Hukusanya taarifa za mtandao kwenye seva ya Linux. Hati ni kubwa sana na haiwezekani kuchapisha msimbo mzima na matokeo ya hati hapa. Kwa hivyo, ni bora unaweza kupakua hati kwa kutumia kiungo cha upakuaji hapa chini na ujaribu mwenyewe.
Kumbuka: Huenda ukahitaji kusakinisha lsb-msingi kifurushi na vifurushi vingine vinavyohitajika na utegemezi. Apt au Yum vifurushi vinavyohitajika. Ni wazi unahitaji kuwa mzizi ili kuendesha hati kwa sababu amri nyingi zinazotumiwa hapa zimesanidiwa kuendeshwa kama mzizi.
./collectnetworkinfo.sh The Network Configuration Info Written To network.20-07-13.info.txt. Please email this file to [email _provider.com. ktop
Unaweza kubadilisha barua pepe iliyo hapo juu kwenye hati yako ili itumiwe kwako. Faili inayozalishwa kiotomatiki inaweza kutazamwa.
Hati hadi Hubadilisha UPPERCASE kuwa herufi ndogo
Hati inayobadilisha UPPERCASE kuwa herufi ndogo na kuelekeza towe kwenye faili ya maandishi small.txt ambayo inaweza kurekebishwa inavyohitajika.
#!/bin/bash echo -n "Enter File Name : " read fileName if [ ! -f $fileName ]; then echo "Filename $fileName does not exists" exit 1 fi tr '[A-Z]' '[a-z]' < $fileName >> small.txt
Hati hii hapo juu inaweza kubadilisha kesi ya faili ya urefu wowote kwa mbofyo mmoja kutoka kwa herufi kubwa hadi herufi ndogo na kinyume chake ikiwa inahitajika, na urekebishaji mdogo.
./convertlowercase.sh Enter File Name : a.txt Initial File: A B C D E F G H I J K ...
Toleo la Faili Mpya (small.txt):
a b c d e f g h i j k ...
Programu rahisi ya Calculator
#! /bin/bash clear sum=0 i="y" echo " Enter one no." read n1 echo "Enter second no." read n2 while [ $i = "y" ] do echo "1.Addition" echo "2.Subtraction" echo "3.Multiplication" echo "4.Division" echo "Enter your choice" read ch case $ch in 1)sum=`expr $n1 + $n2` echo "Sum ="$sum;; 2)sum=`expr $n1 - $n2` echo "Sub = "$sum;; 3)sum=`expr $n1 \* $n2` echo "Mul = "$sum;; 4)sum=`expr $n1 / $n2` echo "Div = "$sum;; *)echo "Invalid choice";; esac echo "Do u want to continue (y/n)) ?" read i if [ $i != "y" ] then exit fi done
./simplecalc.sh Enter one no. 12 Enter second no. 14 1.Addition 2.Subtraction 3.Multiplication 4.Division Enter your choice 1 Sum =26 Do u want to continue (y/n)) ? y 1.Addition 2.Subtraction 3.Multiplication 4.Division Enter your choice 3 mul = 14812 Do u want to continue (y/n)) ? n
Kwa hivyo uliona jinsi ilivyokuwa rahisi kuunda programu yenye nguvu kama mahesabu kwa njia rahisi. Sio mwisho wake. Tutakuwa tukiunda angalau nakala moja zaidi ya safu hii, inayoshughulikia mtazamo mpana kutoka kwa maoni ya usimamizi.
Hayo ni yote kwa sasa. Kuwa msomaji na mkosoaji bora usisahau kutuambia ni kiasi gani na nini ulifurahia katika makala hii na nini unataka kuona katika makala ya baadaye. Swali lolote linakaribishwa sana katika maoni. Hadi wakati huo uwe na afya njema, salama na ukiwa makini. Like na Share nasi tukusaidie kusambaa.