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.
- Ymmärrä Linuxin komentotulkikielikomentoja - osa I
- 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.
- ’kaiku’: Tulostaa kaiken lainausmerkeissä kirjoitetun.
- ‘$’: Onko shell-muuttuja.
- ‘>>’: 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.