Sigling í gegnum heim Linux BASH skrifta - hluti III
Fyrri eftirfarandi greinar í 'Shell Scripting' seríunni voru mjög vel þegnar og þess vegna er ég að skrifa þessa grein til að lengja endalausa námsferlið.
- Skiljið undirstöðuráðleggingar um Linux Shell forskriftarmál – I. hluti
- 5 Shell forskriftir fyrir Linux nýliða til að læra Shell forritun – Part II
Leitarorð er orð eða tákn sem hefur sérstaka merkingu fyrir tölvumál. Eftirfarandi tákn og orð hafa sérstaka merkingu fyrir Bash þegar þau eru ótilvitnuð og fyrsta orð skipunar.
! esac select } case fi then [[ do for until ]] done function while elif if time else in {
Ólíkt flestum tölvutungumálum gerir Bash kleift að nota leitarorð sem breytuheiti jafnvel þó að það geti gert forskriftir erfitt að lesa. Til að halda skriftum skiljanlegum ætti ekki að nota lykilorð fyrir breytuheiti.
Skipun er útfærð í skel sem $(skipun). Þú gætir þurft að fela alla leið skipunar. t.d. $ (/bin/date), fyrir rétta framkvæmd.
Þú gætir þekkt slóð tiltekins forrits með því að nota 'whereis' skipunina. t.d. hvar er dagsetning
whereis date date: /bin/date /usr/share/man/man1/date.1.gz
Það er nóg í bili. Við munum ekki tala mikið um þessar kenningar núna. Að koma að Scripts.
Færa núverandi vinnuskrá
Farðu úr núverandi vinnuskrá yfir á hvaða stig sem er með því að gefa bara upp tölugildið í lok skriftu meðan á keyrslu stendur.
#! /bin/bash LEVEL=$1 for ((i = 1; i <= LEVEL; i++)) do CDIR=../$CDIR done cd $CDIR echo "You are in: "$PWD exec /bin/bash
Vistaðu ofangreinda kóða sem „up.sh“ á skjáborðinu þínu. Gerðu það keyranlegt (chmod 755 up.sh). Hlaupa:
./up.sh 2 (mun færa núverandi vinnuskrá í tvö stig upp).
./up.sh 4 (mun færa núverandi vinnuskrá í fjögur stig upp).
Í stærri skriftum sem inniheldur möppu inni í möppu inni... sem inniheldur bókasöfn, tvöfalda, tákn, keyrslu osfrv á mismunandi stað, getur þú sem verktaki útfært þetta handrit til að fara á þann stað sem óskað er eftir á mjög sjálfvirkan hátt.
Athugið: For er lykkja í ofangreindu handriti og hún mun halda áfram að keyra þar til gildin eru sönn fyrir lykkjuna.
chmod 755 up ./up.sh 2 You are in: / ./up.sh 4 You are in: /
Búðu til handahófskennda skrá eða möppu
Búðu til handahófskennda skrá (möppu) án möguleika á tvíverknaði.
#! /bin/bash echo "Hello $USER"; echo "$(uptime)" >> "$(date)".txt echo "Your File is being saved to $(pwd)"
Þetta er einfalt handrit en það er ekki svo einfalt að virka.
- ‘echo‘: Prentar allt sem skrifað er innan gæsalappanna.
- ‘$‘ : Er skelbreyta.
- ‘>>‘ : Úttakinu er vísað á output of date skipunina og síðan txt framlenging.
Við vitum að úttak dagsetningarskipunar er dagsetning og tími í klukkustund, mínútu, sekúndu ásamt ári. Þess vegna gætum við fengið úttak á skipulögðu skráarnafni án möguleika á tvíverkun skráarnafna. Það gæti verið mjög gagnlegt þegar notandi þarf skrána sem er búin til með tímastimpli til framtíðarviðmiðunar.
./randomfile.sh Hello server Your File is being saved to /home/server/Desktop
Þú getur skoðað skrána sem er búin til á skjáborðinu með dagsetningu í dag og núverandi tíma.
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
Nánari útfærsla á ofangreindu handriti er gefin hér að neðan, sem virkar á ofangreindri meginreglu og er mjög gagnlegt við að safna netupplýsingum Linux netþjóns.
Forskrift til að safna netupplýsingum
Safnar netupplýsingum á Linux netþjóni. Handritið er of stórt og það er ekki hægt að birta allan kóðann og úttak handritsins hér. Svo, það er betra að þú getur halað niður handritinu með því að nota niðurhalstengilinn hér að neðan og prófa það sjálfur.
Athugið: Þú gætir þurft að setja upp lsb-kjarna pakka og aðra nauðsynlega pakka og ósjálfstæði. Apt eða Yum nauðsynlega pakka. Augljóslega þarftu að vera rót til að keyra handritið vegna þess að flestar skipanirnar sem notaðar eru hér eru stilltar til að keyra sem rót.
./collectnetworkinfo.sh The Network Configuration Info Written To network.20-07-13.info.txt. Please email this file to [email _provider.com. ktop
Þú getur breytt ofangreindu netfangi í handritinu þínu til að fá það sent til þín. Hægt er að skoða sjálfkrafa myndaða skrá.
Script í Breytir hástöfum í lágstafi
Forskrift sem breytir hástöfum í lágstafi og beinir úttakinu í textaskrá „small.txt“ sem hægt er að breyta eftir þörfum.
#!/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
Þetta handrit að ofan getur umbreytt stærð skráar af hvaða lengd sem er með einum smelli frá hástöfum í lágstafi og öfugt ef þörf krefur, með litlum breytingum.
./convertlowercase.sh Enter File Name : a.txt Initial File: A B C D E F G H I J K ...
Ný skrá (small.txt) úttak:
a b c d e f g h i j k ...
Einfalt reikniforrit
#! /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
Svo sástu hversu auðvelt það var að búa til öflugt forrit sem útreikninga á svo einfaldan hátt. Það er ekki endirinn. Við munum keppa við að minnsta kosti eina grein í viðbót í þessari röð, sem nær yfir víðtækt sjónarhorn frá stjórnsýslusjónarmiði.
Það er allt í bili. Að vera lesandinn og besti gagnrýnandinn, ekki gleyma að segja okkur hversu mikið og hvað þú hafðir gaman af í þessari grein og hvað þú vilt sjá í framtíðargreininni. Allar spurningar eru mjög vel þegnar í athugasemdum. Þangað til vertu heilbrigður, öruggur og stilltur. Líkaðu og deildu okkur og hjálpaðu okkur að dreifa.