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ð.

  1. Skiljið undirstöðuráðleggingar um Linux Shell forskriftarmál – I. hluti
  2. 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.

  1. ‘echo‘: Prentar allt sem skrifað er innan gæsalappanna.
  2. ‘$‘ : Er skelbreyta.
  3. ‘>>‘ : Ú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.