Bash սցենարներ. սկսել

Bash սցենարներ. սկսել
Bash Scripts Մաս 2. Loops
Bash սկրիպտներ, մաս 3. հրամանի տողի ընտրանքներ և անջատիչներ
Bash սցենարներ, մաս 4. մուտքագրում և ելք
Bash սցենարներ, մաս 5. ազդանշաններ, ֆոնային առաջադրանքներ, սցենարների կառավարում
Bash Scripts, Part 6. Functions and Library Development
Bash scripts, մաս 7. sed և word processing
Bash Scripts, Մաս 8. awk տվյալների մշակման լեզու
Bash Scripts Մաս 9. Կանոնավոր արտահայտություններ
Bash Scripts Մաս 10. Գործնական օրինակներ
Bash սկրիպտներ, մաս 11. սպասել և ինտերակտիվ կոմունալ ծառայությունների ավտոմատացում

Այսօր մենք կխոսենք bash սցենարների մասին: Սա - հրամանի տողերի սցենարներ, գրված է բաշ կեղեւի համար։ Կան այլ պատյաններ, ինչպիսիք են zsh, tcsh, ksh, բայց մենք կկենտրոնանանք bash-ի վրա: Այս նյութը նախատեսված է բոլորի համար, միակ պայմանը աշխատելու ունակությունն է հրամանի տող Linux- ը:

Bash սցենարներ. սկսել

Հրամանի տողերի սկրիպտները նույն հրամանների մի շարք են, որոնք կարող են մուտքագրվել ստեղնաշարից, հավաքվել ֆայլերում և միավորվել ինչ-որ ընդհանուր նպատակով: Միևնույն ժամանակ, թիմերի աշխատանքի արդյունքները կարող են կամ անկախ արժեք ունենալ, կամ որպես ներդրում ծառայել այլ թիմերի համար: Սկրիպտները հաճախակի կատարվող գործողություններն ավտոմատացնելու հզոր միջոց են:

Bash սցենարներ. սկսել

Այսպիսով, եթե մենք խոսում ենք հրամանի տողի մասին, այն թույլ է տալիս միանգամից մի քանի հրամաններ կատարել՝ դրանք մուտքագրելով ստորակետով.

pwd ; whoami

Փաստորեն, եթե դուք դա փորձել եք ձեր տերմինալում, ձեր առաջին bash սկրիպտը, որն օգտագործում է երկու հրաման, արդեն գրված է: Այն աշխատում է այսպես. Առաջին թիմը pwd ցուցադրում է տեղեկատվություն ընթացիկ աշխատանքային գրացուցակի մասին, այնուհետև հրամանը whoamiցույց է տալիս տեղեկություններ այն օգտատիրոջ մասին, որով մուտք եք գործել:

Օգտագործելով այս մոտեցումը, դուք կարող եք միավորել այնքան հրամաններ, որքան ցանկանում եք մեկ տողում, սահմանը միայն արգումենտների առավելագույն քանակն է, որը կարող է փոխանցվել ծրագրին: Դուք կարող եք սահմանել այս սահմանը հետևյալ հրամանով.

getconf ARG_MAX

Հրամանի տողը հիանալի գործիք է, բայց դուք պետք է հրամաններ մուտքագրեք դրա մեջ ամեն անգամ, երբ դրանք ձեզ անհրաժեշտ լինեն: Իսկ եթե մենք գրենք մի շարք հրամաններ ֆայլում և պարզապես կանչենք այդ ֆայլը՝ դրանք կատարելու համար: Փաստորեն, ֆայլը, որի մասին մենք խոսում ենք, կոչվում է հրամանի տողի սցենար:

Ինչպես են աշխատում bash սցենարները

Ստեղծեք դատարկ ֆայլ՝ օգտագործելով հրամանը touch. Իր առաջին տողում դուք պետք է նշեք, թե որ կեղևն ենք օգտագործելու: Մեզ հետաքրքրում է bash, այնպես որ ֆայլի առաջին տողը կլինի.

#!/bin/bash

Այս ֆայլի մեկ այլ մասում հեշ նշանն օգտագործվում է նշելու մեկնաբանությունները, որոնք կեղևը չի մշակում: Այնուամենայնիվ, առաջին տողը հատուկ դեպք է, այն ֆունտի նշան է, որին հաջորդում է բացականչական նշան (այս հաջորդականությունը կոչվում է. շեբանգ) և ճանապարհը դեպի bash, նշեք համակարգին, որի համար սկրիպտը ստեղծվել է հատուկ bash.

Shell հրամաններն առանձնացված են տողերի հոսքով, մեկնաբանությունները՝ ֆունտի նշանով: Ահա թե ինչ տեսք ունի այն.

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

Այստեղ, ինչպես հրամանի տողում, կարող եք հրամաններ գրել մեկ տողի վրա՝ դրանք բաժանելով ստորակետով։ Այնուամենայնիվ, եթե դուք հրամաններ եք գրում տարբեր տողերի վրա, ֆայլը ավելի հեշտ է կարդալ: Ամեն դեպքում, կճեպը կմշակի դրանք։

Սահմանել թույլտվությունները սցենարային ֆայլի վրա

Պահպանեք ֆայլը՝ տալով անուն myscript, իսկ bash սցենարը գրեթե ավարտված է: Այժմ մնում է միայն այս ֆայլը դարձնել գործարկելի, հակառակ դեպքում, երբ փորձեք այն գործարկել, սխալի կհանդիպեք Permission denied.

Bash սցենարներ. սկսել
Սխալ կազմաձևված թույլտվություններով սցենարի ֆայլ գործարկելու փորձ

Եկեք ֆայլը դարձնենք գործարկելի.

chmod +x ./myscript

Հիմա եկեք փորձենք կատարել այն.

./myscript

Թույլտվությունները սահմանելուց հետո ամեն ինչ աշխատում է այնպես, ինչպես պետք է:

Bash սցենարներ. սկսել
Bash սկրիպտը հաջողությամբ գործարկվեց

Հաղորդագրության ելք

Linux կոնսոլում տեքստ տպելու համար օգտագործեք հրամանը echo. Եկեք օգտագործենք այս փաստի իմացությունը և խմբագրենք մեր սցենարը՝ ավելացնելով բացատրություններ այն տվյալներին, որոնք դուրս են բերում արդեն իսկ առկա հրամանները.

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

Ահա թե ինչ է տեղի ունենում թարմացված սցենարը գործարկելուց հետո:

Bash սցենարներ. սկսել
Հաղորդագրությունների դուրսբերում սցենարից

Այժմ մենք կարող ենք ցուցադրել բացատրական պիտակներ՝ օգտագործելով հրամանը echo. Եթե ​​չգիտեք, թե ինչպես խմբագրել ֆայլը Linux գործիքների միջոցով, կամ եթե նախկինում չեք տեսել հրամանը echo, նայեք այս նյութը:

Օգտագործելով փոփոխականներ

Փոփոխականները թույլ են տալիս տեղեկատվություն պահել սցենարի ֆայլում, օրինակ՝ հրամանների արդյունքները՝ այլ հրամանների միջոցով օգտագործելու համար:

Առանձին հրամաններ առանց դրանց աշխատանքի արդյունքները պահելու սխալ բան չկա, սակայն այս մոտեցման հնարավորությունները շատ սահմանափակ են։

Գոյություն ունեն երկու տեսակի փոփոխականներ, որոնք կարող են օգտագործվել bash սկրիպտներում.

  • Շրջակա միջավայրի փոփոխականներ
  • Օգտագործողի փոփոխականներ

Շրջակա միջավայրի փոփոխականներ

Երբեմն shell հրամանները պետք է աշխատեն որոշ համակարգի տվյալների հետ: Օրինակ, ահա թե ինչպես ցուցադրել ընթացիկ օգտատիրոջ հիմնական գրացուցակը.

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

Խնդրում ենք նկատի ունենալ, որ մենք կարող ենք օգտագործել համակարգի փոփոխականը $HOME կրկնակի չակերտներում դա չի խանգարի համակարգին ճանաչել այն: Ահա թե ինչ է տեղի ունենում, եթե գործարկեք վերը նշված սցենարը:

Bash սցենարներ. սկսել
Օգտագործելով շրջակա միջավայրի փոփոխականը սցենարում

Բայց ինչ անել, եթե ցանկանում եք ցուցադրել դոլարի նշան: Փորձենք սա.

echo "I have $1 in my pocket"

Համակարգը կհայտնաբերի դոլարի նշանը չակերտներով սահմանազատված տողի մեջ և կենթադրի, որ մենք հղում ենք արել փոփոխականին: Սցենարը կփորձի ցուցադրել չսահմանված փոփոխականի արժեքը: $1. Սա այն չէ, ինչ մեզ պետք է: Ինչ անել?

Նման իրավիճակում դոլարի նշանից առաջ հակադարձ սլաքի կառավարման նշանն օգնում է.

echo "I have $1 in my pocket"

Այժմ սցենարը կթողարկի ճիշտ այն, ինչ սպասվում է:

Bash սցենարներ. սկսել
Փախուստի հաջորդականության օգտագործումը դոլարի նշան հանելու համար

Օգտագործողի փոփոխականներ

Բացի շրջակա միջավայրի փոփոխականներից, bash սկրիպտները թույլ են տալիս սահմանել և օգտագործել ձեր սեփական փոփոխականները սկրիպտում: Նման փոփոխականները արժեք են պահում մինչև սցենարի ավարտը:

Ինչպես համակարգի փոփոխականների դեպքում, օգտվողի փոփոխականներին կարելի է մուտք գործել դոլարի նշանի միջոցով.
TNW-CUS-FMP - պրոմո կոդը մեր ծառայությունների վրա 10% զեղչի համար, որը հասանելի է 7 օրվա ընթացքում ակտիվացնելու համար

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

Ահա թե ինչ է տեղի ունենում նման սցենար գործարկելուց հետո.

Bash սցենարներ. սկսել
Հատուկ փոփոխականներ սկրիպտում

Հրամանի փոխարինում

Bash սկրիպտների ամենաօգտակար հատկություններից մեկը հրամանների ելքից տեղեկատվություն հանելու և փոփոխականներին վերագրելու հնարավորությունն է, ինչը թույլ է տալիս օգտագործել այս տեղեկատվությունը սցենարի ֆայլի ցանկացած կետում:

Դա կարելի է անել երկու եղանակով.

  • «`» նշանով
  • Շինարարության օգնությամբ $()

Առաջին մոտեցումն օգտագործելիս զգույշ եղեք, որ չօգտագործեք մեկ մեջբերում՝ հետադարձի փոխարեն: Հրամանը պետք է կցված լինի երկու նման պատկերակներով.

mydir=`pwd`

Երկրորդ մոտեցման մեջ նույնը գրված է այսպես.

mydir=$(pwd)

Իսկ սցենարը, ի վերջո, կարող է այսպիսի տեսք ունենալ.

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

Իր շահագործման ընթացքում հրամանի ելքը pwdկպահվի փոփոխականում mydir, որի բովանդակությունը, օգտագործելով հրամանը echo, կգնա կոնսոլին։

Bash սցենարներ. սկսել
Սկրիպտ, որը պահպանում է հրամանի արդյունքները փոփոխականում

Մաթեմատիկական գործողություններ

Սցենարի ֆայլում մաթեմատիկական գործողություններ կատարելու համար կարող եք օգտագործել ձևի կառուցվածքը $((a+b)):

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

Bash սցենարներ. սկսել
Մաթեմատիկական գործողություններ սցենարով

եթե-ապա կառավարման կառուցվածքը

Որոշ սցենարներում պահանջվում է վերահսկել հրամանների կատարման հոսքը: Օրինակ, եթե որոշակի արժեքը հինգից մեծ է, ապա պետք է կատարվի մեկ գործողություն, հակառակ դեպքում՝ մյուսը: Սա կիրառելի է շատ իրավիճակներում, և այստեղ վերահսկիչ կառուցվածքը կօգնի մեզ if-then. Իր ամենապարզ ձևով այն ունի հետևյալ տեսքը.

if команда
then
команды
fi

Եվ ահա աշխատանքային օրինակ.

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

Այս դեպքում, եթե հրամանի կատարումը pwdհաջողությամբ ավարտվում է, վահանակում կցուցադրվի «այն աշխատում է» տեքստը:

Եկեք օգտագործենք մեր ունեցած գիտելիքները և գրենք ավելի բարդ սցենար։ Ենթադրենք, մենք պետք է օգտատեր գտնենք այնտեղ /etc/passwd, և եթե այն հայտնաբերվել է, ապա տեղեկացրեք, որ այն գոյություն ունի։

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

Ահա թե ինչ է տեղի ունենում այս սցենարը գործարկելուց հետո:

Bash սցենարներ. սկսել
Օգտագործողի որոնում

Այստեղ մենք օգտագործել ենք հրամանը grepֆայլում օգտվող փնտրելու համար /etc/passwd. Եթե ​​թիմը grepՁեզ անծանոթ, դրա նկարագրությունը կարելի է գտնել այստեղ.

Այս օրինակում, եթե օգտագործողը գտնվի, սցենարը կցուցադրի համապատասխան հաղորդագրություն: Իսկ եթե օգտագործողին չգտնվի: Այս դեպքում սցենարը պարզապես կավարտի կատարումը՝ մեզ ոչինչ չասելով։ Կուզենայի, որ նա մեզ էլ ասի այս մասին, ուստի եկեք բարելավենք կոդը։

Եթե-ապա-ուրիշ վերահսկման կառուցվածքը

Որպեսզի ծրագիրը կարողանա զեկուցել ինչպես հաջող որոնման, այնպես էլ ձախողման արդյունքների մասին, մենք օգտագործում ենք շինարարությունը if-then-else. Ահա թե ինչպես է այն կարգավորվում.

if команда
then
команды
else
команды
fi

Եթե ​​առաջին հրամանը վերադարձնում է զրո, ինչը նշանակում է, որ այն հաջողությամբ կատարվել է, պայմանը ճիշտ կլինի, և կատարումը չի գնա ճյուղի երկայնքով: else. Հակառակ դեպքում, եթե զրոյից այլ բան վերադարձվի, ինչը նշանակում է ձախողում կամ կեղծ արդյունք, հրամանները. else.

Գրենք հետևյալ սցենարը.

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

Նրա մահապատիժը վերջացավ else.

Bash սցենարներ. սկսել
Եթե-այնուհետև-ուրիշ կոնստրուկցիայով սկրիպտ վարելը

Դե ինչ, եկեք առաջ անցնենք և ինքներս մեզ հարցնենք ավելի բարդ պայմանների մասին։ Իսկ եթե Ձեզ անհրաժեշտ է ստուգել ոչ թե մեկ պայման, այլ մի քանիսը: Օրինակ, եթե գտնվի պահանջվող օգտվողը, պետք է ցուցադրվի մեկ հաղորդագրություն, եթե ինչ-որ այլ պայման բավարարված է, պետք է ցուցադրվի մեկ այլ հաղորդագրություն և այլն: Նման իրավիճակում մեզ կօգնեն բնադրված պայմանները։ Այն կարծես այսպիսին է.

if команда1
then
команды
elif команда2
then
команды
fi

Եթե ​​առաջին հրամանը վերադարձնում է զրո, ինչը ցույց է տալիս դրա հաջող կատարումը, ապա առաջին բլոկի հրամանները կկատարվեն: then, հակառակ դեպքում, եթե առաջին պայմանը false է, և եթե երկրորդ հրամանը վերադարձնի զրո, ապա կկատարվի կոդի երկրորդ բլոկը։

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

Նման սցենարում դուք կարող եք, օրինակ, հրամանի միջոցով ստեղծել նոր օգտվող useradd, եթե որոնումը արդյունք չտվեց, կամ այլ օգտակար բան արեք:

Թվերի համեմատություն

Սկրիպտներում դուք կարող եք համեմատել թվային արժեքները: Ստորև ներկայացված է համապատասխան հրամանների ցանկը:

n1 -eq n2Վերադարձնում է ճշմարիտ, եթե n1 հավասար է n2.
n1 -ge n2 Վերադարձնում է ճշմարիտ, եթե n1ավելի կամ հավասար n2.
n1 -gt n2Վերադարձնում է ճշմարիտ, եթե n1 ավելին, քան n2.
n1 -le n2Վերադարձնում է ճշմարիտ, եթե n1պակաս կամ հավասար n2.
n1 -lt n2Վերադարձնում է true, եթե n1-ը փոքր է n2.
n1 -ne n2Վերադարձնում է ճշմարիտ, եթե n1հավասար չէ n2.

Որպես օրինակ, եկեք փորձենք համեմատության օպերատորներից մեկը: Նշենք, որ արտահայտությունը փակցված է քառակուսի փակագծերում:

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

Ահա թե ինչ է դուրս գալու այս հրամանը:

Bash սցենարներ. սկսել
Համեմատելով թվերը սկրիպտներում

Փոփոխական արժեք val15-ից ավելի, ի վերջո, մասնաճյուղը կատարվում է thenհամեմատության օպերատոր և համապատասխան հաղորդագրությունը ցուցադրվում է վահանակում:

Լարերի համեմատություն

Սկրիպտները կարող են նաև համեմատել տողերի արժեքները: Համեմատության օպերատորները բավականին պարզ տեսք ունեն, սակայն տողերի համեմատման օպերատորներն ունեն որոշակի առանձնահատկություններ, որոնց կանդրադառնանք ստորև։ Ահա օպերատորների ցանկը.

str1 = str2 Ստուգում է տողերը հավասարության համար, վերադարձնում է true, եթե տողերը նույնական են:
str1 != str2Վերադարձնում է true, եթե տողերը նույնական չեն:
str1 < str2Վերադարձնում է ճշմարիտ, եթե str1ավելի քիչ քան str2.
str1 > str2 Վերադարձնում է ճշմարիտ, եթե str1ավելին քան str2.
-n str1 Վերադարձնում է true, եթե երկարությունը str1Զրոյից բարձր։
-z str1Վերադարձնում է true, եթե երկարությունը str1հավասար է զրոյի:

Ահա սցենարի մեջ տողերի համեմատության օրինակ.

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

Սցենարի կատարման արդյունքում ստանում ենք հետևյալը.

Bash սցենարներ. սկսել
Տողերի համեմատություն սկրիպտներում

Ահա տողերի համեմատության մի առանձնահատկություն, որը հարկ է նշել: Մասնավորապես, «>» և «<» օպերատորները պետք է փախչել հետշեղով, հակառակ դեպքում սկրիպտը ճիշտ չի աշխատի, թեև սխալի հաղորդագրություններ չեն հայտնվի: Սցենարը մեկնաբանում է «>» նշանը որպես ելքը վերահղելու հրաման։

Ահա, թե ինչպես է աշխատում այս օպերատորների հետ կոդով.

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

Ահա սցենարի արդյունքները.

Bash սցենարներ. սկսել
Լարի համեմատություն, նախազգուշացում նետված

Նկատի ունեցեք, որ սցենարը, չնայած այն գործարկվում է, նախազգուշացում է տալիս.

./myscript: line 5: [: too many arguments

Այս զգուշացումից ազատվելու համար մենք եզրակացնում ենք $val2 կրկնակի չակերտներում.

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

Այժմ ամեն ինչ աշխատում է այնպես, ինչպես պետք է:

Bash սցենարներ. սկսել
Լարերի համեմատություն

«>» և «<» օպերատորների մեկ այլ առանձնահատկությունն այն է, թե ինչպես են նրանք աշխատում մեծատառ և փոքրատառ նիշերի հետ: Այս հատկությունը հասկանալու համար եկեք պատրաստենք տեքստային ֆայլ հետևյալ բովանդակությամբ.

Likegeeks
likegeeks

Պահպանեք այն անունով myfileև այնուհետև գործարկեք հետևյալ հրամանը տերմինալում.

sort myfile

Այն կտեսակավորի տողերը ֆայլից այսպես.

likegeeks
Likegeeks

Թիմ sort, ըստ լռելյայն, դասավորում է տողերը աճման կարգով, ինչը նշանակում է, որ մեր օրինակի փոքրատառը փոքր է մեծատառից: Այժմ եկեք պատրաստենք մի սցենար, որը կհամեմատի նույն տողերը.

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

Եթե ​​գործարկեք, կստացվի, որ ճիշտ հակառակն է՝ փոքրատառն այժմ մեծատառից մեծ է:

Bash սցենարներ. սկսել
տեսակավորելու հրամանը և տողերի համեմատությունը սցենարի ֆայլում

Համեմատության հրամաններում մեծատառերն ավելի փոքր են, քան փոքրատառերը: Այստեղ տողերի համեմատությունը կատարվում է ASCII նիշերի կոդերի համեմատությամբ, ուստի տեսակավորման կարգը կախված է նիշերի կոդերից:

Թիմ sort, իր հերթին, օգտագործում է համակարգի լեզվի կարգավորումներում նշված տեսակավորման կարգը:

Ֆայլի ստուգումներ

Թերևս ստորև նշված հրամաններն առավել հաճախ օգտագործվում են bash սկրիպտներում: Նրանք թույլ են տալիս ստուգել տարբեր պայմաններ ֆայլերի վերաբերյալ: Ահա այս հրամանների ցանկը:

-d fileՍտուգում է արդյոք ֆայլը գոյություն ունի և արդյոք այն գրացուցակ է:
-e fileՍտուգում է ֆայլի առկայությունը:
-f file Ստուգում է արդյոք ֆայլը գոյություն ունի և արդյոք այն ֆայլ է:
-r fileՍտուգում է, արդյոք ֆայլը գոյություն ունի և ընթեռնելի է:
-s file ПՍտուգում է, արդյոք ֆայլը գոյություն ունի և դատարկ չէ:
-w fileՍտուգում է, արդյոք ֆայլը գոյություն ունի և գրառելի է:
-x fileՍտուգում է, արդյոք ֆայլը գոյություն ունի և գործարկելի է:
file1 -nt file2 Ստուգում է, թե արդյոք այն ավելի նոր է file1Քան file2.
file1 -ot file2Ստուգում է, թե արդյոք ավելի հին է file1Քան file2.
-O file Ստուգում է, արդյոք ֆայլը գոյություն ունի և պատկանում է ընթացիկ օգտագործողին:
-G fileՍտուգում է արդյոք ֆայլը գոյություն ունի և արդյոք դրա խմբի ID-ն համընկնում է ընթացիկ օգտագործողի խմբի ID-ի հետ:

Այս հրամանները, ինչպես նաև շատ ուրիշներ, որոնք այսօր քննարկվում են, հեշտ է հիշել: Նրանց անունները, լինելով տարբեր բառերի հապավումներ, ուղղակիորեն ցույց են տալիս նրանց կատարած ստուգումները։

Փորձենք գործնականում հրամաններից մեկը.

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

Այս սցենարը, գոյություն ունեցող գրացուցակի համար, կցուցադրի դրա բովանդակությունը:

Bash սցենարներ. սկսել
Գրացուցակի բովանդակության ցուցակագրում

Մենք հավատում ենք, որ դուք կարող եք փորձարկել մնացած հրամանները ինքնուրույն, դրանք բոլորը կիրառվում են նույն սկզբունքով:

Արդյունքները

Այսօր մենք խոսեցինք այն մասին, թե ինչպես սկսել գրել bash սցենարներ և լուսաբանեցինք որոշ հիմնական բաներ: Փաստորեն, bash ծրագրավորման թեման հսկայական է: Այս հոդվածը 11 նյութերից բաղկացած մեծ շարքի առաջին մասի թարգմանությունն է։ Եթե ​​ցանկանում եք շարունակել հենց հիմա, ահա այս նյութերի բնօրինակների ցանկը: Հարմարության համար այստեղ ներառված է այն մեկը, ում թարգմանությունը դուք հենց նոր կարդացիք։

  1. Bash սցենար քայլ առ քայլ - այստեղ մենք խոսում ենք այն մասին, թե ինչպես սկսել ստեղծել bash սկրիպտներ, դիտարկվում է փոփոխականների օգտագործումը, նկարագրվում են պայմանական կոնստրուկցիաներ, հաշվարկներ, թվերի համեմատություններ, տողեր, ֆայլերի մասին տեղեկություններ պարզելը:
  2. Bash Scripting Part 2, Bash the Awesome - այստեղ բացահայտվում են for և while օղակների հետ աշխատելու առանձնահատկությունները:
  3. Bash Scripting Մաս 3, Պարամետրեր և ընտրանքներ - այս նյութը նվիրված է հրամանի տողի պարամետրերին և ստեղներին, որոնք կարող են փոխանցվել սկրիպտներին՝ աշխատելով օգտագործողի մուտքագրած տվյալների հետ և որոնք կարելի է կարդալ ֆայլերից:
  4. Bash Scripting Մաս 4, Մուտք և ելք - այստեղ մենք խոսում ենք ֆայլերի նկարագրիչների և դրանց հետ աշխատելու մասին, մուտքագրման, ելքի, սխալների, ելքային վերահղման հոսքերի մասին:
  5. Bash Scripting Մաս 5, Sighals & Jobs — այս նյութը նվիրված է Linux ազդանշաններին, դրանց մշակմանը սկրիպտներում, պլանավորված սկրիպտների գործարկմանը:
  6. Bash Scripting Մաս 6, Գործառույթներ - այստեղ դուք կարող եք ծանոթանալ սկրիպտներում գործառույթներ ստեղծելու և օգտագործելու, գրադարաններ մշակելու մասին:
  7. Bash Scripting Մաս 7, Օգտագործելով sed — այս հոդվածը sed stream տեքստային խմբագրիչի հետ աշխատելու մասին է:
  8. Bash scripting Մաս 8, Օգտագործելով awk — այս նյութը նվիրված է awk տվյալների մշակման լեզվով ծրագրավորմանը:
  9. Bash Scripting Մաս 9, Կանոնավոր արտահայտություններ - այստեղ կարող եք կարդալ bash սկրիպտներում կանոնավոր արտահայտությունների օգտագործման մասին:
  10. Bash Scripting Մաս 10, Գործնական օրինակներ - ահա հաղորդագրությունների հետ աշխատելու մեթոդներ, որոնք կարող են ուղարկվել օգտվողներին, ինչպես նաև սկավառակի մոնիտորինգի մեթոդ:
  11. Bash scripting Part 11, Expect Command - այս նյութը նվիրված է Expect գործիքին, որի միջոցով կարող եք ավտոմատացնել փոխգործակցությունը ինտերակտիվ կոմունալ ծառայությունների հետ: Մասնավորապես, խոսքը վերաբերում է սպասվող սկրիպտներին և ինչպես են դրանք փոխազդում bash սկրիպտների և այլ ծրագրերի հետ:

Կարծում ենք, որ հոդվածների այս շարքի հիանալի բաներից մեկն այն է, որ այն սկսվում է ամենահիմնականից, հարմար է ցանկացած մակարդակի օգտատերերի համար, աստիճանաբար հանգեցնում է բավականին լուրջ թեմաների՝ բոլորին հնարավորություն տալով առաջադիմել Linux հրամանի տողերի սկրիպտավորման մեջ:

Հարգելի ընթերցողներ. Մենք խնդրում ենք bash-ծրագրավորող գուրուներին խոսել այն մասին, թե ինչպես են նրանք հասել վարպետության բարձունքներին, կիսվել գաղտնիքներով, և մենք սպասում ենք տպավորությունների նրանցից, ովքեր նոր են գրել իրենց առաջին սցենարը:

Bash սցենարներ. սկսել

Հարցմանը կարող են մասնակցել միայն գրանցված օգտվողները։ Մուտք գործել, խնդրում եմ:

Թարգմանե՞լ հոդվածաշարի մնացած մասը։

  • Yes!

  • Ոչ կարիք չկա

Քվեարկել է 1030 օգտատեր։ 106 օգտատեր ձեռնպահ է մնացել։

Source: www.habr.com

Добавить комментарий