Purjehdus Linuxin BASH-komentosarjojen maailmassa - osa III


Aiemmat seuraavat Shell Scripting -sarjan artikkelit olivat erittäin arvostettuja, ja siksi kirjoitan tämän artikkelin jatkaakseni loputonta oppimisprosessia.

  1. Ymmärrä Linuxin komentotulkikielikomentoja - osa I
  2. 5 Shell-komentosarjaa Linux-aloittelijoille oppia Shell-ohjelmointia - osa II

Avainsana on sana tai symboli, jolla on erityinen merkitys tietokoneen kielelle. Seuraavilla symboleilla ja sanoilla on erityinen merkitys Bashille, kun niitä ei ole lainattu, ja komennon ensimmäisen sanan.

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

Toisin kuin useimmat tietokonekielet, Bash sallii avainsanojen käyttämisen muuttujien niminä, vaikka tämä voi tehdä skripteistä vaikeasti luettavia. Jotta skriptit olisivat ymmärrettäviä, avainsanoja ei tule käyttää muuttujien nimissä.

Komento toteutetaan kuoressa nimellä $(command). Saatat joutua sisällyttämään koko komennon polun. esim. & # 36 (/ bin/date) oikean suorituksen varmistamiseksi.

Saatat tietää tietyn ohjelman polun käyttämällä 'whereis' -komentoa. esim. päivämäärä

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

Se riittää toistaiseksi. Emme puhu paljon tästä teoriasta nyt. Tulossa skripteihin.

Siirrä nykyinen työhakemisto

Siirry nykyisestä työkirjastosta mihin tahansa tasoon ylöspäin antamalla vain numeroarvo komentosarjan lopussa suorituksen aikana.

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

Tallenna yllä olevat koodit nimellä "up.sh" työpöydällesi. Tee siitä suoritettava (chmod 755 up.sh). Juosta:

./up.sh 2 (siirtää nykyisen työhakemiston kahteen tasoon ylöspäin).
./up.sh 4 (siirtää nykyisen työhakemiston neljälle tasolle ylöspäin).

Suuremmissa skripteissä, jotka sisältävät kansion sisällä olevan kansion ..., joka sisältää kirjastoja, binäärejä, kuvakkeita, suoritettavia tiedostoja jne. Eri sijainneissa, kehittäjänä voit toteuttaa tämän komentosarjan siirtyäksesi haluttuun paikkaan hyvin automatisoidusti.

Huomaa: For on silmukka yllä olevassa komentosarjassa ja sen suorittamista jatketaan, kunnes silmukan arvot ovat totta.

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

 ./up.sh 4 
You are in: / 

Luo satunnainen tiedosto tai kansio

Luo satunnainen tiedosto (kansio) ilman päällekkäisyyksiä.

#! /bin/bash

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

Tämä on yksinkertainen komentosarja, mutta se ei ole niin yksinkertaista.

  1. ’kaiku’: Tulostaa kaiken lainausmerkeissä kirjoitetun.
  2. ‘$’: Onko shell-muuttuja.
  3. ‘>>’: Lähtö ohjataan päivämääräkomennon lähtöön, jota seuraa txt-laajennus.

Tiedämme, että päivämääräkomennon tulos on päivämäärä ja aika tunnissa, minuuteissa, sekunneissa sekä vuosi. Näin voimme saada tuloksen järjestetylle tiedostonimelle ilman mahdollisuutta, että tiedostonimi päällekkäinen. Se voi olla erittäin hyödyllinen, kun käyttäjä tarvitsee aikaleimalla luotua tiedostoa myöhempää tarvetta varten.

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

Voit tarkastella työpöydälle luotua tiedostoa Päivän päivämäärä ja kellonaika.

 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

Yllä olevan komentosarjan yksityiskohtaisempi toteutus on annettu alla, joka toimii yllä olevalla periaatteella ja on erittäin hyödyllinen kerätä Linux-palvelimen verkkotietoja.

Skripti verkkotietojen keräämiseksi

Kerää verkkotiedot Linux-palvelimelle. Skripti on liian suuri, eikä skriptin koko koodia ja ulostuloa voida lähettää tänne. Joten on parempi, että lataat komentosarjan alla olevan linkin avulla ja testaat sen itse.

Huomaa: Sinun on ehkä asennettava lsb-core-paketti ja muut vaaditut paketit ja riippuvuus. Apt tai Yum vaaditut paketit. Sinun on tietysti oltava pääkäyttäjä, jotta komentosarja voidaan suorittaa, koska suurin osa täällä käytetyistä komennoista on määritetty suoritettavaksi pääkäyttäjänä.

 ./collectnetworkinfo.sh  

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

Voit muuttaa yllä olevaa sähköpostiosoitetta komentosarjassa saadaksesi sen postitettavaksi sinulle. Automaattisesti luotua tiedostoa voidaan tarkastella.

Komentosarja muuntaa PITKÄT pieniksi kirjaimiksi

Skripti, joka muuntaa UPPERCASE-kirjaimen pieniksi kirjaimiksi ja ohjaa lähdön tekstitiedostoksi "small.txt", jota voidaan muokata tarpeen mukaan.

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

Tämä yllä oleva komentosarja voi muuntaa minkä tahansa pituisen tiedoston tapauksen yhdellä napsautuksella isoista kirjaimista pieniin ja päinvastoin tarvittaessa pienellä muutoksella.

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

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

Uusi tiedosto (small.txt):

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

Yksinkertainen laskinohjelma

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

Joten näitkö kuinka helppoa oli luoda tehokas ohjelma laskelmina niin yksinkertaisella tavalla. Se ei ole loppu. Tulemme laatimaan ainakin yhden tämän sarjan artikkelin, joka kattaa laajan näkökulman hallinnon näkökulmasta.

Tässä kaikki tältä erää. Lukijana oleminen ja paras kriitikko älä unohda kertoa meille, kuinka paljon ja mitä nautit tässä artikkelissa ja mitä haluat nähdä tulevassa artikkelissa. Kaikki kysymykset ovat erittäin tervetulleita kommentteina. Siihen asti pysyt terve, turvallinen ja viritetty. Tykkää ja jaa meitä ja auta meitä levittämään.