Burāšana caur Linux BASH skriptu pasauli - III daļa


Iepriekšējie nākamie sērijas “Shell Scripting” raksti tika augstu novērtēti, un tāpēc es rakstu šo rakstu, lai paplašinātu nebeidzamo mācību procesu.

  1. Izprotiet pamata Linux čaulas skriptu valodas padomus - I daļa
  2. 5 čaulas skripti iesācējiem Linux, lai uzzinātu čaulas programmēšanu - II daļa

Atslēgvārds ir vārds vai simbols, kam ir īpaša nozīme datorvalodā. Šiem simboliem un vārdiem Bash ir īpaša nozīme, kad tie nav citēti, un komandas pirmajam vārdam.

! 			esac 			select 		} 
case 			fi 			then 		[[ 
do 			for 			until 		]] 
done 			function 		while 		elif
if 			time 			else 		in 		{

Atšķirībā no vairuma datoru valodu, Bash ļauj atslēgvārdus izmantot kā mainīgos nosaukumus, lai gan tas var padarīt skriptus grūti lasāmus. Lai skripti būtu saprotami, mainīgo nosaukumiem nedrīkst izmantot atslēgas vārdus.

Komanda tiek ieviesta čaulā kā $(komanda). Iespējams, jums būs jāiekļauj pilns komandas ceļš. piem., & # 36 (/ bin/date) pareizai izpildei.

Jūs, iespējams, zināt konkrētas programmas ceļu, izmantojot komandu ‘whereis’. piem., kur datums

 whereis date
date: /bin/date /usr/share/man/man1/date.1.gz

Pagaidām ar to pietiek. Tagad mēs daudz nerunāsim par šo teoriju. Nākam pie skriptiem.

Pārvietot pašreizējo darba direktoriju

Pārejiet no pašreizējā darba direktorija uz jebkuru līmeni uz augšu, izpildot tikai norādot skaitlisko vērtību skripta beigās.

#! /bin/bash 
LEVEL=$1 
for ((i = 1; i <= LEVEL; i++)) 
do 
CDIR=../$CDIR 
done 
cd $CDIR 
echo "You are in: "$PWD 
exec /bin/bash

Darbvirsmā saglabājiet iepriekš minētos kodus kā “up.sh”. Padariet to izpildāmu (chmod 755 up.sh). Palaist:

./up.sh 2 (pārvietos pašreizējo darba direktoriju uz diviem līmeņiem uz augšu).
./up.sh 4 (pārvietos pašreizējo darba direktoriju uz četriem līmeņiem uz augšu).

Lielākos skriptos, kas satur mapi mapes iekšpusē ..., kas satur bibliotēkas, bināros failus, ikonas, izpildāmos failus utt. Dažādās vietās, jūs kā izstrādātājs varat ieviest šo skriptu, lai ļoti automatizēti pārvietotos uz vēlamo vietu.

Piezīme: For ir cilpa iepriekš minētajā skriptā, un tā turpinās izpildīt, līdz cilpas vērtības ir patiesas.

 chmod 755 up
 ./up.sh 2
You are in: /

 ./up.sh 4 
You are in: / 

Izveidojiet izlases failu vai mapi

Izveidojiet nejaušu failu (mapi) bez dublēšanās iespējas.

#! /bin/bash

echo "Hello $USER";
echo "$(uptime)" >> "$(date)".txt
echo "Your File is being saved to $(pwd)"

Šis ir vienkāršs skripts, taču tas nav tik vienkārši.

  1. ‘atbalss’: izdrukā visu, kas rakstīts pēdiņās.
  2. ‘$’: ir čaulas mainīgais.
  3. ‘>>’: izvade tiek novirzīta uz komandas date datumu, kam seko txt paplašinājums.

Mēs zinām, ka komandas datums ir datums un laiks stundās, minūtēs, sekundēs kopā ar gadu. Tādējādi mēs varētu iegūt izvadi no organizēta faila nosaukuma, bez iespējas dubultot faila nosaukumu. Tas varētu būt ļoti noderīgi, ja lietotājam nākotnē ir nepieciešams fails, kas izveidots ar laika zīmogu.

 ./randomfile.sh  
Hello server 
Your File is being saved to /home/server/Desktop

Darbvirsmā izveidoto failu var apskatīt ar šodienas datumu un pašreizējo laiku.

 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

Tālāk ir sniegta detalizētāka iepriekš minētā skripta ieviešana, kas darbojas pēc iepriekš minētā principa un ir ļoti noderīga, apkopojot Linux servera tīkla informāciju.

Skripts tīkla informācijas apkopošanai

Apkopo tīkla informāciju Linux serverī. Skripts ir pārāk liels, un šeit nav iespējams ievietot visu skripta kodu un izvadi. Tāpēc labāk ir lejupielādēt skriptu, izmantojot zemāk redzamo lejupielādes saiti, un pats to pārbaudīt.

Piezīme. Iespējams, jums būs jāinstalē lsb-core pakete un citas nepieciešamās pakotnes un atkarība. Apt vai Yum nepieciešamās paketes. Acīmredzot, lai palaistu skriptu, jums ir jābūt root, jo lielākā daļa šeit izmantoto komandu ir konfigurētas palaist kā root.

 ./collectnetworkinfo.sh  

The Network Configuration Info Written To network.20-07-13.info.txt. Please email this file to [email _provider.com. ktop

Jūs varat mainīt iepriekš minēto e-pasta adresi savā skriptā, lai to nosūtītu jums pa pastu. Var apskatīt automātiski ģenerēto failu.

Skripts, lai lielos burtus pārveidotu par mazajiem burtiem

Skripts, kas lielo burtu pārveido par mazajiem burtiem un izvadi novirza uz teksta failu “small.txt”, kuru pēc vajadzības var modificēt.

#!/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

Šis iepriekšējais skripts var pārveidot jebkura garuma faila lietu ar vienu klikšķi no lielajiem burtiem uz mazajiem burtiem un otrādi, ja nepieciešams, ar nelielu modifikāciju.

 ./convertlowercase.sh  
Enter File Name : a.txt 

Initial File: 
A
B
C
D
E
F
G
H
I
J
K
...

Jauna faila (small.txt) izeja:

a
b
c
d
e
f
g
h
i
j
k
...

Vienkārša kalkulatora programma

#! /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

Vai jūs redzējāt, cik viegli bija izveidot tik vienkāršu aprēķinu programmu kā aprēķinus. Tās nav beigas. Mēs sastādīsim vēl vismaz vienu šīs sērijas rakstu, kas aptver plašu perspektīvu no administrācijas viedokļa.

Tas pagaidām ir viss. Būdams lasītājs un labākais kritiķis, neaizmirstiet pastāstīt, cik daudz un kas jums patika šajā rakstā un ko vēlaties redzēt nākamajā rakstā. Jebkurš jautājums ir ļoti laipni gaidīts komentāros. Līdz tam paliec vesels, drošs un noregulēts. Patīk un dalies ar mums un palīdz mums izplatīties.