1. peatükk: Bash Shelli skriptimise sissejuhatus
Bash, lühend sõnast Bourne Again Shell, toimib Unixi-põhiste operatsioonisüsteemide (nt Linux ja macOS) vaikekestana. See pakub kasutajasõbralikku liidest operatsioonisüsteemi haldamiseks ja on võimas skriptikeel, mida kasutatakse ülesannete automatiseerimiseks, protsesside sujuvamaks muutmiseks ja tootlikkuse suurendamiseks. See juhend on loodud selleks, et juhendada teid Bashi skriptimise põhialuste kohta. Lõpuks on teil teadmised Bashi kasutamiseks erinevate rakenduste jaoks, suurendades oma tõhusust ja oskusi Unixi/Linuxi keskkonnas.
2. peatükk: Bash Shelli mõistmine
2.1: Ülevaade
Bash, Bourne'i kesta täiustatud ja tagasiühilduv versioon, on Unixi ja Linuxi süsteemide jaoks ülioluline. Kuigi seda kasutatakse peamiselt Unixis/Linuxis, on see kaasatud ka macOS-i ja sellele pääseb juurde Windowsis, kasutades selliseid tööriistu nagu Windowsi alamsüsteem Linuxile (WSL).
2.2: Bashi õppimise eelised
- Populaarsus: Bash on Unixi/Linuxi süsteemide kõige levinum shelliskriptikeel.
- Pikaealisus: 1989. aastal tutvustatud Bash on aktuaalne ja võimas tänapäevani.
- Mitmekülgsus: Bashis kirjutatud skriptid võivad töötada mitmes operatsioonisüsteemis.
- Automatiseerimine: Bash-skriptid võivad automatiseerida korduvaid ülesandeid, suurendades tootlikkust.
- Integratsioon: Bash saab suhelda teiste tööriistade ja keeltega ning neid juhtida.
2.3: Bashi piirangud
Vaatamata oma jõule ei sobi Bash kõigi ülesannete jaoks. Objektorienteeritud programmeerimise, keeruka süntaksi skriptimise ja täiustatud süsteemihalduse jaoks võivad teised keeled või tööriistad paremini sobida.
3. peatükk: Eeltingimused
3.1: operatsioonisüsteem
Kuigi Bash on omapärane Unixile/Linuxile, saab seda kasutada Windowsis koos WSL-i või macOS-iga.
3.2: Linuxi põhiteadmised
Põhiliste Linuxi käskude ja failisüsteemi struktuuri mõistmine aitab teie õppimisel palju kasu.
4. peatükk: Alustades põhikäskudest
Bashi skriptimise aluse panemiseks alustame terminali põhikäskudega:
Käsk | Kirjeldus | Näide |
---|---|---|
echo | Kuvab argumendina edastatud teksti. | echo Hello |
cat | Kuvab faili sisu. | cat file.txt |
5. peatükk: Avaldiste testimine
Bash pakub test
või nurksulgudes [ ]
väljendite hindamiseks. Näiteks:
bashCopy kood# Using the `test` command
test "Hello" = "Hello"
# Using square brackets
[ "Hello" = "Hello" ]
6. peatükk: Tingimuslikud avaldused
Bash toetab if-elif-else
konstrueerib ja case
avaldused otsuste tegemiseks.
6.1: If-Elif-Else
bashCopy koodif [ "$1" = "admin" ]; then
echo "Oh, you're the boss here. Welcome."
elif [ "$1" = "help" ]; then
echo "Just enter your username, please."
else
echo "I don't know who you are, but you're not the boss of me."
fi
6.2: Juhtum
bashCopy koodcase "$1" in
"admin")
echo "Oh, you're the boss here. Welcome."
;;
"help")
echo "Just enter your username, please."
;;
*)
echo "I don't know who you are, but you're not the boss of me."
;;
esac
7. peatükk: massiivid ja tsüklid
Bashi massiivid ja silmused hõlbustavad mitme väärtusega manipuleerimist.
7.1: massiivid
bashCopy koodmy_first_list=(1 2 3 4 5)
# Accessing the first element of the array
echo ${my_first_list[0]}
7.2: Silmused
bashCopy kood# Using for loop to print array elements
for element in ${my_first_list[*]}
do
echo $element
done
8. peatükk: Funktsioonid
Bashi funktsioonid võimaldavad teil koodi korrastada, taaskasutada ja moduleerida.
bashCopy codeshow_uptime() {
local up=$(uptime -p | cut -d' ' -f2) # Get uptime
local since=$(uptime -s) # Get start time
cat <<- EOF
-----------
This machine has been up for ${up}.
It has been running since ${since}.
-----------
EOF
}
9. peatükk: Tekstitöötlus programmidega Awk ja Sed
Awk ja Sed on võimsad tööriistad tekstiandmete töötlemiseks ja manipuleerimiseks Bashis.
9.1: Awk
Awk ei ole lihtsalt tekstiprotsessor, vaid täielik programmeerimiskeel, mis võimaldab sisendtekstiga keerukaid toiminguid teha.
9.2: Sed
Sed, lühend sõnadest Stream Editor, on utiliit, mida kasutatakse teksti teisendamiseks. Pange tähele, Sed ei redigeeri faile kohapeal, välja arvatud juhul, kui -i
kasutatakse ja see on ülioluline, et teil oleks õppimise ajal varukoopia või töötate koopiaga.
bashCopy kood# Replacing 'fly' with 'grasshopper' in set_test.txt
sed 's/fly/grasshopper/g' set_test.txt
See käsiraamat on sissejuhatuseks Bashi shelliskriptimisse. Harjutades tunnete end Bashi skriptimisega mugavalt, avades teie arvutikeskkonnas võimsa automatiseerimise ja haldusvõimaluste maailma.
-
Mis vahe on Bashi ja Shelli skriptimisel?
Shelli skriptimine on laiem mõiste, mis hõlmab skripte, mis on kirjutatud erinevatele kestadele nagu Bourne Shell (sh), Bourne Again Shell (Bash), Korn Shell (ksh), C Shell (csh) jne. Bashi skriptimine viitab konkreetselt Bashi skriptidele shell, mis on uuem, funktsioonirikkam ja populaarsem kest.
-
Kas ma pean enne Bashi skriptimise alustamist teadma Linuxi käske?
Jah, põhiteadmised Linuxi käskudest on kasulikud Bashi skriptimisega alustamisel, kuna Bashi skriptid on sisuliselt Linuxi käskude seeria, mis käivitatakse teatud juhtimisloogikaga järjestuses.
-
Kas ma saan oma Bashi skripte käivitada ka muudes operatsioonisüsteemides peale Linuxi?
Jah, saate Bashi skripte käivitada mis tahes operatsioonisüsteemis, millel on saadaval Bashi kest. See hõlmab Unixi süsteeme, macOS-i ja Windowsi, kuhu on installitud Windowsi alamsüsteem Linuxile (WSL).
-
Kas Bashi skriptimine võib asendada vajaduse muude programmeerimiskeelte, nagu Python või Perl, järele?
Kuigi Bashi skriptimine on võimas ja piisav paljude süsteemitaseme ülesannete ja lihtsate skriptimisvajaduste jaoks, ei ole see mõeldud asendama üldotstarbelisi programmeerimiskeeli, nagu Python või Perl. Keerulisi andmestruktuure, objektorienteeritud programmeerimist ja teatud muid ülesandeid käsitletakse paremini sellistes keeltes nagu Python.
-
Olen kirjutanud Bashi skripti, kuid see ei käivitu. Mis võib viga olla?
Põhjuseid, miks Bashi skripti ei käivitu, võib olla mitu. Mõned levinumad probleemid hõlmavad süntaksivigu skriptis, valed failiõigused (skriptil peaksid olema täitmisõigused) või skripti esimesel real võib puududa õige shebang (
#!/bin/bash
), et määrata, et seda tuleks käivitada Bashi abil.
Kommentaarid (0)
Siin pole veel kommentaare, võite olla esimene!