Bash-skripti: algus

Bash-skripti: algus
Bash-skriptid, osa 2: tsĂŒklid
Bash-skriptid, osa 3: parameetrid ja kÀsurea vÔtmed
Bash-skriptid, osa 4: sisend ja vÀljund
Bash-skriptid, osa 5: signaalid, taustategevused, skriptide haldamine
Bash-skriptid, osa 6: funktsioonid ja raamatukogude arendamine
Bash-skriptid, osa 7: sed ja tekstitöötlus
Bash-skriptid, osa 8: andmetöötluse keel awk
Bash-skriptid, osa 9: regulaaravaldised
Bash-skriptid, osa 10: praktilised nÀited
Bash-skriptid, osa 11: expect ja interaktiivsete utiliitide automatiseerimine

TĂ€na rÀÀgime bash-skriptidest. See on — kĂ€skude read, mis on kirjutatud bash-keskkonnas. On ka teisi keskkondi, nĂ€iteks — zsh, tcsh, ksh, kuid keskendume bashile. See materjal on mĂ”eldud kĂ”igile, kes soovivad, ainus tingimus on oskus töötada kĂ€skude real Linuxis.

Bash-skripti: algus

KĂ€suread on kĂ€skude kogumid, mida saab klaviatuurilt sisestada, kogutud failidesse ja ĂŒhendatud mingi ĂŒhise eesmĂ€rgiga. Samas vĂ”ivad kĂ€skude töötamise tulemused olla kas iseseisev vÀÀrtus vĂ”i teenida sisendina teistele kĂ€skudele. Skriptid on vĂ”imas viis sageli korduvate toimingute automatiseerimiseks.

Bash-skripti: algus

Nii et, kui rÀÀkida kÀsurealt, vÔib kÀske tÀita mitu korraga, sisestades need lÀbi semikooloni:

pwd ; whoami

Tegelikult, kui olete seda oma terminaalis proovinud, on teie esimene bash-skript, millel on kaks kĂ€sku, juba kirjutatud. See töötab nii. Esiteks, kĂ€sk pwd vĂ€ljastab ekraanile teavet praeguse töökausta kohta, seejĂ€rel kĂ€sk whoamikannab sĂŒsteemi alloleva kasutaja andmed.

Sarnase lĂ€henemisega saate ĂŒhendada samaaegselt nii palju kĂ€sklusi, kui soovite, piirang on vaid maksimaalne argumentide arv, mida programmile edastada saab. Selle piirangu mÀÀramine on vĂ”imalik jĂ€rgmise kĂ€su abil:

getconf ARG_MAX

KÀskude rida on suurepÀrane tööriist, kuid kÀske tuleb sisestada iga kord, kui need on vajalikud. Mis oleks, kui salvestada kÀskude kogum faili ja lihtsalt kutsuda see fail nende tÀitmiseks? Tegelikult on see fail, millest rÀÀgime, kÀskude rida.

Kuidas on bash-skriptid ĂŒles ehitatud

Looge tĂŒhi fail, kasutades kĂ€sku touch. Esimese reana tuleb nĂ€idata, millist lĂ”petust me soovime kasutada. Meid huvitab bash, seega on faili esimene rida jĂ€rgmine:

#!/bin/bash

Selle faili teistes ridades tĂ€histab ristikujuline mĂ€rk kommentaare, mida lĂ”petus ei töötle. Siiski on esimene rida erand, siin on ristikujuline mĂ€rk, millele jĂ€rgneb hĂŒĂŒdemĂ€rk (seda jĂ€rjestust nimetatakse shebang) ja tee bash, nĂ€itavad sĂŒsteemile, et skript on loodud just bash.

KÀskude lÔpetus eraldatakse reavahetuse mÀrgiga, kommentaarid eristatakse ristikujulise mÀrgiga. Nii see vÀlja nÀeb:

#!/bin/bash
# This is a comment
pwd
whoami

Siin, nagu ka kĂ€sureal, on vĂ”imalik kirjutada kĂ€ske ĂŒhel real, eraldades need semikooloniga. Siiski, kui kirjutada kĂ€ske erinevatesse ridadesse, on faili mĂ”ista kergem. Igal juhul töötleb lĂ”petus neid.

Faili skripti Ôiguste seadmine

Salvesta fail, andes sellele nime myscript, ja töö bash-skripti loomise kallal on peaaegu valmis. Praegu on jÀÀnud vaid muuta see fail tÀidetavaks, vastasel juhul, kui proovite seda kÀivitada, leiate endale vea Permission denied.

Bash-skripti: algus
Skripti faili kÀivitamise katse valede Ôiguste seadistamisega

Teeme failist tÀidetava:

chmod +x .\/myscript

NĂŒĂŒd proovime seda kĂ€ivitada:

.\/myscript

PÀrast Ôiguste seadmist töötab kÔik nagu peab.

Bash-skripti: algus
Bash-skripti edukas kÀivitamine

SÔnumite vÀljund

Teksti vÀljastamiseks Linuxi konsoolis kasutatakse kÀsku echo. Kasutame seda teadmist ja redigeerime meie skripti, lisades selgitusi andmetele, mida juba olemasolevad kÀsklused vÀljastavad:

#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami

Nii nÀeb vÀlja kÀivitamisejÀrgne uuendatud skript.

Bash-skripti: algus
SÔnumite vÀljund skriptist

NĂŒĂŒd saame vĂ€ljastada selgitavaid pealkirju, kasutades kĂ€sku echo. Kui te ei tea, kuidas faili redigeerida, kasutades Linuxi, vĂ”i ei ole varem kohtunud kĂ€suga echo, vaadake see materjali.

Muude muutujate kasutamine

Muutujad vĂ”imaldavad salvestada skriptifailis teavet, nĂ€iteks — kĂ€skude tulemusi, et kasutada neid teiste kĂ€skude juures.

Ei ole midagi halba, kui tĂ€ita ĂŒksikuid kĂ€ske ilman nende tulemuste salvestamiseta, kuid sellise lĂ€henemise vĂ”imalused on ĂŒsna piiratud.

On kaks tĂŒĂŒpi muutujaid, mida saab kasutada bash-skriptides:

  • Keskkonnamuutujad
  • Kasutaja mÀÀratud muutujad

Keskkonnamuutujad

MĂ”nikord tuleb shelli kĂ€skudes töötada teatud sĂŒsteemsete andmetega. NĂ€iteks, kuidas trĂŒkkida praeguse kasutaja kodukausta:

#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"

Pange tĂ€hele, et me saame kasutada sĂŒsteemset muutujat $HOME kaksikutejutistes, see ei takista sĂŒsteemi selle tuvastamast. Siin on, mis juhtub, kui kĂ€ivitada ĂŒlaltoodud skript.

Bash-skripti: algus
Keskkonnamuutuja kasutamine skriptis

Ent mis siis, kui soovime ekraanile trĂŒkkida dollarimĂ€rki? Proovime nii:

echo "I have $1 in my pocket"

SĂŒsteem tuvastab dollarimĂ€rgi tsiteeritud reas ja arvab, et viidame muutuja vÀÀrtusele. Skript pĂŒĂŒab ekraanile trĂŒkkida mÀÀramata muutuja vÀÀrtuse $1. See ei ole see, mida me vajame. Mida teha?

Sellises olukorras aitab kasutada juhtmÀrk, tagurpidi kaldkriips, dollarimÀrgi ees:

echo "I have $1 in my pocket"

NĂŒĂŒd trĂŒkib skript tĂ€pselt seda, mida ootasime.

Bash-skripti: algus
JuhtmĂ€rkide kasutamine dollarimĂ€rgi trĂŒkkimiseks

Kasutaja mÀÀratud muutujad

Lisaks keskkonnamuutujatele vÔimaldavad bash-skriptid mÀÀrata ja kasutada skriptis ka kasutaja muutujaid. Need muutujad sÀilitavad oma vÀÀrtuse kuni skripti tÀitmine on lÔpetatud.

Nagu sĂŒsteemsete muutujate puhul, saab kasutaja muutujatele viidata dollarimĂ€rgiga:
TNW-CUS-FMP — 10% sooduskupon meie teenustele, mis on saadaval aktiveerimiseks 7 pĂ€eva jooksul

#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"

Siin on, mis juhtub pÀrast sellise skripti kÀivitamist.

Bash-skripti: algus
Kasutaja muutujad skriptis

KĂ€skude asendamine

Üks bash-skriptide kasulikumaid omadusi on vĂ”imalus vĂ€ljundist teavet vĂ€lja tĂ”mmata ja mÀÀrata see muutujatele, mis vĂ”imaldab selle teabe kasutamist kĂ”ikjal skriptifailis.

Seda saab teha kahel viisil.

  • Tagurpidi jutumĂ€rgi «`» abil
  • Konstruktsiooni abil $()

Esimese lĂ€henemisega veenduge, et ei sisestata tagurpidi jutumĂ€rgi asemel ĂŒhtegi tavalist jutumĂ€rki. KĂ€sk tuleb sulguda kahe sellise mĂ€rgiga:

mydir=`pwd`

Teise lÀhenemisega kirjutatakse sama nii:

mydir=$(pwd)

Ja skript vÔib lÔppenud kujul vÀlja nÀha nii:

#!/bin/bash
mydir=$(pwd)
echo $mydir

Selle kÀigus salvestatakse kÀsu vÀljund pwdmuutujasse mydir, mille sisu, kasutades kÀsku echo, jÔuab konsooli.

Bash-skripti: algus
Skript, mis salvestab kÀsu tulemused muutuja sisse

Matemaatilised toimingud

Matemaatiliste operatsioonide tegemiseks skriptifailis saab kasutada konstruktsiooni nagu $((a+b)):

#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2

Bash-skripti: algus
Matemaatilised operatsioonid skriptis

Kontrollstruktuur if-then

MĂ”nes skriptis on vajalik juhtida kĂ€skude juhtimist. NĂ€iteks, kui mingisugune vÀÀrtus on suurem kui viis, tuleb teostada ĂŒks tegevus, vastasel juhul – teine. See on rakendatav paljude olukordade puhul, ning siin aitab meid kontrollstruktuur if-then. Lihtsaim versioon nĂ€eb vĂ€lja nii:

if kÀsk
then
kÀskud
fi

Siin on töötav nÀide:

#!/bin/bash
if pwd
then
echo "It works"
fi

Antud juhul, kui kÀsk pwdtÀitmine Ônnestub, kuvatakse konsoolis tekst "it works".

Kasutan olemasolevaid teadmisi ja kirjutan keerukama skripti. Oletame, et peame leidma mingi kasutaja /etc/passwd, ja kui seda Ônnestub leida, teavitame, et ta eksisteerib.

#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi

Nii nÀeb see vÀlja pÀrast skripti kÀivitamist.

Bash-skripti: algus
Kasutaja otsimine

Siin kasutasime kÀsku grepkasutaja leidmiseks failis /etc/passwd. Kui kÀsk grepon teile tundmatu, siis selle kirjeldus on saadaval siin.

Selles nÀites, kui kasutaja leitakse, kuvab skript vastava teate. Aga kui kasutaja leidmine ei Ônnestu? Sellisel juhul lÔpetab skript lihtsalt tÀitmise, teatamata meile sellest. Soovime, et ta meile ka sellest rÀÀgiks, seega tÀiustame koodi.

Kontrollstruktuur if-then-else

Et programm saaks teavitada nii edukatest leidmistest kui ka ebaÔnnestumisest, kasutame konstruktsiooni if-then-else. Nii see toimib:

if kÀsk
then
kÀskud
else
kÀskud
fi

Kui esimene kÀsk tagastab nulli, mis tÀhistab selle eduka tÀitmist, osutub tingimus tÔeseks ja tÀitmine ei lÀhe haru muul juhul. Vastupidisel juhul, kui tagastatakse midagi, mis erineb nullist, mis tÀhistab ebaÔnnestumist vÔi vale tulemust, tÀidetakse kÀskud, mis on pÀrast muul juhul.

Kirjutame sellise skripti:

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesn’t exist"
fi

Tema tÀitmine lÀks haru muul juhul.

Bash-skripti: algus
Skripti kÀivitamine konstruktsiooniga if-then-else

Nii, jĂ€tkame edasi ja kĂŒsime keerulisemate tingimuste kohta. Mida teha, kui on vaja kontrollida mitte ĂŒhte, vaid mitut tingimust? NĂ€iteks, kui vajalik kasutaja on leitud, peaksime kuvama ĂŒhe sĂ”numi, kui lisatingimus on tĂ€idetud — teise sĂ”numi jne. Sarnases olukorras aitavad meid sissetallatud tingimused. See nĂ€eb vĂ€lja selline:

if kÀsk1
then
kÀsklused
elif kÀsk2
then
kÀsklused
fi

Kui esimene kÀsk tagastab nulli, mis nÀitab selle eduka tÀitmise, tÀidetakse kÀsklused esimeses plokis. siis, vastasel juhul, kui esimene tingimus osutub vale olevaks, ja kui teine kÀsk tagastab nulli, tÀidetakse teise ploki kood.

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesn’t exist but anyway there is a directory under /home"
fi

Sarnases skriptis vÔib nÀiteks luua uue kasutaja kÀsklusega useradd, kui otsing ei too tulemusi, vÔi teha midagi muud kasulikku.

Numbrite vÔrdlemine

Skriptides saab vÔrrelda arvulisi vÀÀrtusi. Allpool on loetelu vastavatest kÀsklustest.

n1 -eq n2Tagastab tÔese vÀÀrtuse, kui n1 size / bs n2.
n1 -ge n2 Tagastab tÔese vÀÀrtuse, kui n1suurem vÔi vÔrdne n2.
n1 -gt n2Tagastab tÔese vÀÀrtuse, kui n1 ei nÔuta enam n2.
n1 -le n2Tagastab tÔese vÀÀrtuse, kui n1vÀiksem vÔi vÔrdne n2.
n1 -lt n2Tagastab tÔese vÀÀrtuse, kui n1 on vÀiksem n2.
n1 -ne n2Tagastab tÔese vÀÀrtuse, kui n1ei ole vÔrdne n2.

NĂ€iteks proovime ĂŒhte vĂ”rdlusoperaatorit. Pange tĂ€hele, et vĂ€ljend on sulgudes.

#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi

See on, mida see kÀsk kuvab.

Bash-skripti: algus
Numbrite vÔrdlemine skriptides

Muu muutuja vÀÀrtus val1suurem kui 5, mille tulemusena tÀidetakse vÔrdlusoperaatori haru ja konsooli kuvatakse vastav sÔnum. siisStringide vÔrdlemine

Skeemides saab vĂ”rrelda ka stringivÀÀrtusi. VĂ”rdlusoperaatorid nĂ€evad ĂŒsna lihtsad vĂ€lja, kuid stringide vĂ”rdlemisel on teatud eripĂ€rad, millega me allpool tutvume. Siin on loetelu operaatoritest.

str1 = str2

Kontrollib, kas stringid on vÔrdsed, tagastab tÔeteate, kui stringid on identsed. tr1 != str2
sTagastab tÔeteate, kui stringid ei ole identsed.str1 < str2
Tagastab tÔeteate, kuistr1 on vÀiksem kuistr2 str1 > str2.
suurem kui str1 on vÀiksem kui-n str1 str1 > str2.
Tagastab tÔeteate, kui pikkus on suurem nullist. on vÀiksem kui-z str1
on vÔrdne nulliga.on suurem nullist. on vÀiksem kuiSiin on nÀide stringide vÔrdlemisest skriptis:

Skripti tÀitmise tulemus on jÀrgmine.

#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user  is the current logged in user"
fi

Stringide vÔrdlemine skriptides

Bash-skripti: algus
Skripti stringide vÔrdlemine

Siin on ĂŒks stringide vĂ”rdlemise eripĂ€ra, millest tasub rÀÀkida. Nimelt tuleb operaatorid „>” ja „” kui vĂ€ljundi suunamise kĂ€sku.

Nii nÀeb nende operaatoritega töötamine vÀlja koodis:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Siin on skripti töö tulemused.

Bash-skripti: algus
Stringide vÔrdlemine, vÀljastatud hoiatus

Pange tÀhele, et skript, kuigi see tÀidetakse, vÀljastab hoiatuse:

./myscript: line 5: [: liiga palju argumente

Kuna sellest hoiatust lahti saada, paneme $val2 kahe jutumargi vahele:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

NĂŒĂŒd töötab kĂ”ik nagu peab.

Bash-skripti: algus
Skeemides saab vĂ”rrelda ka stringivÀÀrtusi. VĂ”rdlusoperaatorid nĂ€evad ĂŒsna lihtsad vĂ€lja, kuid stringide vĂ”rdlemisel on teatud eripĂ€rad, millega me allpool tutvume. Siin on loetelu operaatoritest.

Veel ĂŒks operaatorite „>” ja „<” eripĂ€ra seisneb selles, kuidas nad töötavad suur- ja vĂ€iketĂ€htedega. Selle eripĂ€ra mĂ”istmiseks valmistan ette tekstifaili sellise sisuga:

Likegeeks
likegeeks

Salvestame selle nimega myfile, seejÀrel tÀidame terminalis sellise kÀsu:

sort myfile

See sorteerib faili read jÀrgmiselt:

likegeeks
Likegeeks

Meeskond sort, vaikimisi sorteerib read kasvavat. See tĂ€hendab, et vĂ€ike tĂ€ht meie nĂ€ites on vĂ€iksem kui suur tĂ€ht. NĂŒĂŒd valmistame ette skripti, mis vĂ”rdleb samu stringe:

#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Kui seda kĂ€ivitada, selgub, et kĂ”ik on vastupidi - vĂ€ike tĂ€ht on nĂŒĂŒd suurest tĂ€htest suurem.

Bash-skripti: algus
KÀsk sort ja stringide vÔrdlemine skripti failis

VĂ”rdluskaaludes on suured tĂ€hed vĂ€ikestest vĂ€iksemad. Stringide vĂ”rdlemine toimub ASCII koodide vĂ”rdlemise kaudu, seega sĂ”ltub sortimisjĂ€rjekord sĂŒmbolite koodidest.

Meeskond sort, omakorda kasutab jĂ€rjestus, mille mÀÀrab sĂŒsteemi keele seaded.

Failide kontrollid

VÔib-olla, allpool toodud kÀsud on bash-skriptides kÔige sagedamini kasutatavad. Need vÔimaldavad kontrollida erinevaid tingimusi, mis puudutavad faile. Siin on nende kÀskude loetelu.

-d fileKontrollib, kas fail eksisteerib ja kas see on kaust.
-e fileKontrollib, kas fail eksisteerib.
-f file Kontrollib, kas fail eksisteerib ja kas see on fail.
-r fileKontrollib, kas fail eksisteerib ja kas sellele on juurdepÀÀs lugemiseks.
-s fileKontrollib, kas fail eksisteerib ja kas see ei ole tĂŒhi.
-w fileKontrollib, kas fail eksisteerib ja kas sellele on juurdepÀÀs kirjutamiseks.
-x fileKontrollib, kas fail eksisteerib ja kas see on tÀidetav.
file1 -nt file2 Kontrollib, kas on uuem file1, kui file2.
file1 -ot file2Kontrollib, kas on vanem file1, kui file2.
-O file Kontrollib, kas fail eksisteerib ja kas selle omanik on praegune kasutaja.
-G fileKontrollib, kas fail eksisteerib ja kas selle grupi identifikaator vastab praeguse kasutaja grupi identifikaatorile.

Need kĂ€sud, nagu paljusid teisi, mida tĂ€na kĂ€sitlesime, on lihtne meeles pidada. Nende nimed, olles lĂŒhendatud erinevatest sĂ”nadest, nĂ€itavad otseselt, milliseid kontrollimisi nad teevad.

Proovi ĂŒks kĂ€sk praktikas:

#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi

See skript, olemasoleva katalooge jaoks, kuvab selle sisu.

Bash-skripti: algus
Katalooge sisu vÀljastamine

Oletame, et teiste kÀskudega suudate ise katsetada, kÔik need toimivad sama pÔhimÔtte jÀrgi.

Summary

TÀna rÀÀkisime sellest, kuidas alustada bash-skriptide kirjutamist ja kÀsitlesime mÔningaid pÔhilisi teemasid. Tegelikult on bash-programmeerimise teema tohutu. See artikkel on tÔlge mahuka seeria esimese osa 11 materjalist. Kui soovite jÀtku kohe - siin on nende materjalide originaallinkide nimekiri. Mugavuse huvides on siia ka lisatud see, mille tÔlge on just loetud.

  1. Bash Script Step By Step — selles rÀÀgitakse, kuidas alustada bash-skriptide loomist, kĂ€sitletakse muutujate kasutamist, kirjeldatakse tingimuslikke konstruktsioone, arvutusi, numbrite ja stringide vĂ”rdlemist, kĂŒsimist failide kohta.
  2. Bash Scripting Part 2, Bash the awesome — siin kĂ€sitletakse for ja while tsĂŒklite töö eripĂ€ra.
  3. Bash Scripting Part 3, Parameters & options — see materjal kĂ€sitleb kĂ€surea parameetreid ja vĂ”tmeid, mis vĂ”ivad skripti edasi minna, samuti andmeid, mida sisestab kasutaja ja mida on vĂ”imalik lugeda failidest.
  4. Bash Scripting Part 4, Input & Output — siin rÀÀgitakse failide descriptoritest ja nende kasutamisest, sisendi, vĂ€ljundi ja vigade voogudest, vĂ€ljundi suunamisest.
  5. Bash Scripting Part 5, Sighals & Jobs — see materjal kĂ€sitleb Linuxi signaale, nende töötlemist skriptides ja skriptide kĂ€ivitamist ajakava jĂ€rgi.
  6. Bash Scripting Part 6, Functions — siin saab teada, kuidas funktsioonide loomine ja kasutamine skriptides, raamatukogude arendamine.
  7. Bash Scripting Part 7, Using sed — see artikkel kĂ€sitleb voolava tekstiredaktori sed kasutamist.
  8. Bash Scripting Part 8, Using awk — see materjal kĂ€sitleb andmetöötluse keele awk programmeerimist.
  9. Bash Scripting Part 9, Regular Expressions — siin saab lugeda, kuidas kasutada regulaaravaldusi bash-skriptides.
  10. Bash Scripting Osa 10, Praktilised NĂ€ited — siin on toodud meetodeid sĂ”numite töötlemiseks, mida saab kasutajatele saata, samuti meetodeid ketta jĂ€lgimiseks.
  11. Bash Scripting Osa 11, Expect KĂ€sk — see materjal kĂ€sitleb Expect'i tööriista, millega saab automatiseerida interaktiivsete utiliitidega suhtlemist. EelkĂ”ige rÀÀgitakse siin expect-skriptidest ja nende koostööst bash-skriptide ja teiste programmide kanssa.

Peame oluliseks, et selle artiklite sarja ĂŒks vÀÀrtuslikimaid omadusi on see, et see alustab kĂ”ige lihtsamast, mis sobib igasuguse tasemega kasutajatele, ja suunab jĂ€rk-jĂ€rgult tĂ”sistele teemadele, andes vĂ”imaluse kĂ”igile, kes soovivad, edusammude saavutamiseks Linuxi kĂ€surea skriptide loomises.

Austatud lugejad! Palume bash-programmeerimise eksperte jagada, kuidas nad saavutasid oma oskustes tipptaseme, jagada saladusi, ja ootame muljeid nendelt, kes just kirjutasid oma esimese skripti.

Bash-skripti: algus

Ainult registreeritud kasutajad saavad kĂŒsitluses osaleda. Logige sisse, palun.

Kas tÔlkida teiste artiklite osad?

  • Jah!

  • Ei, ei ole vajalik

HÀÀletas 1030 kasutajat. Erakuks jÀi 106 kasutajat.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster