Այսօր մենք կխոսենք bash սկրիպտների մասին։ Սրանք են՝ , գրված bash shell-ի համար։ Կան այլ shell-եր, ինչպիսիք են zsh-ը, tcsh-ը, ksh-ը, բայց մենք կկենտրոնանանք bash-ի վրա։ Այս նյութը նախատեսված է բոլորի համար, միակ պահանջը աշխատելու ունակությունն է։ Linux- ը:
Հրամանի տողի սկրիպտները նույն հրամանների հավաքածուներ են, որոնք կարող եք մուտքագրել ստեղնաշարից, հավաքված ֆայլերում և միավորված որոշակի ընդհանուր նպատակով: Հրամանների արդյունքը կարող է արժեքավոր լինել ինքնուրույն կամ ծառայել որպես մուտքային տվյալներ այլ հրամանների համար: Սկրիպտները հզոր միջոց են հաճախակի կատարվող գործողությունները ավտոմատացնելու համար:
Այսպիսով, եթե խոսենք հրամանի տողի մասին, այն թույլ է տալիս միաժամանակ կատարել մի քանի հրամաններ՝ մուտքագրելով դրանք կետ-ստորակետերով բաժանված։
pwd ; whoami Իրականում, եթե դուք սա փորձել եք ձեր տերմինալում, ապա արդեն գրել եք ձեր առաջին bash սկրիպտը, որն օգտագործում է երկու հրաման։ Այն աշխատում է այսպես։ Նախ, հրամանը pwd ցուցադրում է տեղեկատվություն ընթացիկ աշխատանքային գրացուցակի մասին, ապա հրամանը whoamiՑուցադրում է տեղեկություններ այն օգտատիրոջ մասին, որով դուք մուտք եք գործել։
Այս մոտեցումն օգտագործելով՝ դուք կարող եք մեկ տողում համատեղել այնքան հրամաններ, որքան ցանկանում եք, միակ սահմանափակումը ծրագրին փոխանցվող արգումենտների առավելագույն քանակն է։ Դուք կարող եք սահմանել այս սահմանափակումը՝ օգտագործելով հետևյալ հրամանը.
getconf ARG_MAXՀրամանի տողը հիանալի գործիք է, բայց դուք պետք է հրամաններ մուտքագրեք դրա մեջ ամեն անգամ, երբ դրանք ձեզ անհրաժեշտ լինեն: Ի՞նչ կլիներ, եթե դուք կարողանայիք հրամանների հավաքածու գրել ֆայլի մեջ և պարզապես կանչել այդ ֆայլը՝ դրանք կատարելու համար: Իրականում, այն ֆայլը, որի մասին մենք խոսում ենք, կոչվում է հրամանի տողի սկրիպտ:
Ինչպես են աշխատում bash սկրիպտները
Ստեղծեք դատարկ ֆայլ՝ օգտագործելով հրամանը touchԱռաջին տողում դուք պետք է նշեք, թե որ shell-ն ենք օգտագործելու։ Մեզ հետաքրքրում է bash, ուստի ֆայլի առաջին տողը կլինի հետևյալը՝
#!/bin/bash Այս ֆայլի մյուս տողերում հեշ նիշը օգտագործվում է այն մեկնաբանությունները նշելու համար, որոնք shell-ը չի մշակում: Այնուամենայնիվ, առաջին տողը հատուկ դեպք է, որտեղ հեշը հաջորդում է բացականչական նշան (այս հաջորդականությունը կոչվում է ) և ճանապարհը դեպի bash, համակարգին ցույց տվեք, որ սկրիպտը ստեղծվել է հատուկ դրա համար bash.
Shell հրամանները բաժանված են նոր տողով, մեկնաբանությունները՝ հեշ նշանով։ Ահա թե ինչ տեսք ունի այն՝
#!/bin/bash
# This is a comment
pwd
whoamiԱյստեղ, ինչպես հրամանի տողում, կարող եք հրամաններ գրել մեկ տողի վրա՝ բաժանված կետ-ստորակետերով։ Սակայն, եթե հրամաններ գրեք տարբեր տողերի վրա, ֆայլն ավելի հեշտ կլինի կարդալ։ Ամեն դեպքում, shell-ը կմշակի դրանք։
Սկրիպտի ֆայլի համար թույլտվությունների սահմանում
Պահպանեք ֆայլը՝ այն անուն տալով myscript, և bash սկրիպտ ստեղծելու աշխատանքը գրեթե ավարտված է։ Այժմ մնում է միայն այս ֆայլը դարձնել կատարվող, հակառակ դեպքում, երբ փորձեք այն գործարկել, կհանդիպեք սխալի։ Permission denied.

Սխալ կարգավորված թույլտվություններով սկրիպտի ֆայլ գործարկելու փորձ
Եկեք ֆայլը դարձնենք կատարվող՝
chmod +x ./myscriptՀիմա փորձենք այն իրականացնել.
./myscriptԹույլտվությունները սահմանելուց հետո ամեն ինչ կաշխատի այնպես, ինչպես պետք է։

Bash սկրիպտի հաջող մեկնարկ
Հաղորդագրությունների արտածում
Linux կոնսոլում տեքստ արտածելու համար օգտագործեք հրամանը echoԵկեք օգտագործենք այս գիտելիքները և խմբագրենք մեր սկրիպտը՝ ավելացնելով բացատրություններ այն տվյալներին, որոնք արդեն իսկ արտածում են դրանում առկա հրամանները։
#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoamiՍա է այն, ինչ դուք կստանաք թարմացված սկրիպտը գործարկելուց հետո։

Հաղորդագրությունների արտածում սկրիպտից
Այժմ մենք կարող ենք արտածել բացատրական տեքստ՝ օգտագործելով հրամանը echoԵթե չգիտեք, թե ինչպես խմբագրել ֆայլը Linux գործիքների միջոցով, կամ նախկինում չեք հանդիպել այս հրամանին echo, նայեք նյութը:
Փոփոխականների օգտագործումը
Փոփոխականները թույլ են տալիս պահպանել տեղեկատվություն սկրիպտի ֆայլում, ինչպիսիք են հրամանների արդյունքները, այլ հրամանների կողմից օգտագործելու համար։
Առանձին հրամաններ կատարելու մեջ ոչ մի վատ բան չկա՝ առանց դրանց աշխատանքի արդյունքները պահպանելու, սակայն այս մոտեցման հնարավորությունները շատ սահմանափակ են։
Bash սկրիպտներում կարող են օգտագործվել երկու տեսակի փոփոխականներ՝
- Շրջակա միջավայրի փոփոխականներ
- Օգտատիրոջ փոփոխականներ
Շրջակա միջավայրի փոփոխականներ
Երբեմն անհրաժեշտ է աշխատել որոշ համակարգային տվյալների հետ shell հրամաններում: Օրինակ, ահա թե ինչպես կարելի է ցուցադրել ընթացիկ օգտատիրոջ տնային գրացուցակը.
#!/bin/bash
# display user home
echo "Home for the current user is: $HOME" Նշենք, որ մենք կարող ենք օգտագործել համակարգի փոփոխականը $HOME կրկնակի չակերտների մեջ դա չի խանգարի համակարգին ճանաչել այն։ Ահա թե ինչ կպատահի, եթե կատարեք վերը նշված սկրիպտը։

Սկրիպտում միջավայրի փոփոխականի օգտագործումը
Ի՞նչ անել, եթե ուզում եք էկրանին ցուցադրել դոլարի նշանը։ Եկեք փորձենք սա՝
echo "I have $1 in my pocket" Համակարգը կհայտնաբերի դոլարի նշանը չակերտներով բաժանված տողում և կորոշի, որ մենք հղում ենք կատարել փոփոխականի։ Սկրիպտը կփորձի ցուցադրել չսահմանված փոփոխականի արժեքը։ $1Սա այն չէ, ինչ մեզ պետք է։ Ի՞նչ անել։
Այս իրավիճակում դոլարի նշանից առաջ հակառակ թեք գիծը՝ escape նիշը, օգտագործելը կօգնի.
echo "I have $1 in my pocket"Հիմա սկրիպտը կարտադրի ճիշտ այն, ինչ սպասվում է։

Դոլարի նշանը տպելու համար փախուստի հաջորդականության օգտագործումը
Օգտատիրոջ փոփոխականներ
Բացի միջավայրի փոփոխականներից, 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 սկրիպտների ամենաօգտակար առանձնահատկություններից մեկը հրամանների արդյունքից տեղեկատվություն հանելու և այն փոփոխականներին վերագրելու հնարավորությունն է, որը թույլ է տալիս օգտագործել այդ տեղեկատվությունն սկրիպտի ֆայլի ցանկացած վայրում։
Դա կարելի է անել երկու եղանակով.
- Հետադարձ նշանի օգտագործումը "`"
- Դիզայնի օգնությամբ՝
$()
Առաջին մոտեցումն օգտագործելիս զգույշ եղեք հետադարձ նշանի փոխարեն չօգտագործել մեկ չակերտ։ Հրամանը պետք է ներառված լինի հետևյալ երկուսի մեջ՝
mydir=`pwd`Երկրորդ մոտեցմամբ նույն բանը գրվում է այսպես.
mydir=$(pwd)Եվ վերջում սցենարը կարող է այսպիսի տեսք ունենալ.
#!/bin/bash
mydir=$(pwd)
echo $mydir Գործողության ընթացքում հրամանի արտածումը pwdկպահպանվի փոփոխականում mydir, որի պարունակությունը, օգտագործելով հրամանը echo, կգնա կոնսոլ։

Սկրիպտ, որը պահպանում է հրամանի արդյունքները փոփոխականում
Մաթեմատիկական գործողություններ
Սկրիպտ ֆայլում մաթեմատիկական գործողություններ կատարելու համար կարող եք օգտագործել ձևի կառուցումը $((a+b)):
#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2 
Մաթեմատիկական գործողություններ սցենարի մեջ
եթե-ապա կառավարման կառուցվածք
Որոշ սցենարներում անհրաժեշտ է վերահսկել հրամանների կատարման հոսքը: Օրինակ, եթե որոշակի արժեքը մեծ է հինգից, անհրաժեշտ է կատարել մեկ գործողություն, հակառակ դեպքում՝ մեկ այլ: Սա կիրառելի է բազմաթիվ իրավիճակներում, և այստեղ մենք կօգտագործենք կառավարման կառուցվածքը: if-thenԻր ամենապարզ ձևով այն այսպիսի տեսք ունի.
if команда
then
команды
fiԱհա աշխատանքային օրինակ.
#!/bin/bash
if pwd
then
echo "It works"
fi Այս դեպքում, եթե հրամանը կատարվում է pwdհաջողությամբ ավարտվելու դեպքում կոնսոլում կցուցադրվի «it works» տեքստը։
Եկեք օգտագործենք մեր ունեցած գիտելիքները և գրենք ավելի բարդ սցենար։ Ենթադրենք, որ մեզ անհրաժեշտ է գտնել որոշակի օգտատիրոջ /etc/passwd, և եթե այն գտնվել է, հաղորդեք, որ այն գոյություն ունի։
#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fiՍա այն է, ինչ դուք կստանաք այս սկրիպտը գործարկելուց հետո։

Որոնել օգտատիրոջը
Այստեղ մենք օգտագործեցինք հրամանը 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.

Սկրիպտի գործարկում if-then-else կոնստրուկտով
Լավ, անցնենք առաջ և ինքներս մեզ հարցնենք ավելի բարդ պայմանների մասին: Ի՞նչ անել, եթե մեզ անհրաժեշտ լինի ստուգել ոչ թե մեկ, այլ մի քանի պայման: Օրինակ, եթե գտնվի անհրաժեշտ օգտատերը, մեզ անհրաժեշտ կլինի ցուցադրել մեկ հաղորդագրություն, եթե որևէ այլ պայման բավարարվի՝ մեկ այլ հաղորդագրություն և այլն: Նման իրավիճակում մեզ կօգնեն ներդրված պայմանները: Այն այսպիսի տեսք ունի.
if команда1
then
команды
elif команда2
then
команды
fi Եթե առաջին հրամանը վերադարձնում է զրո, ինչը նշանակում է, որ այն հաջողությամբ կատարվել է, ապա առաջին բլոկի հրամանները կկատարվեն։ then, հակառակ դեպքում, եթե առաջին պայմանը կեղծ է, և եթե երկրորդ հրամանը վերադարձնում է զրո, կոդի երկրորդ բլոկը կկատարվի։
#!/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Վերադարձնում է true, եթեn1հավասար էn2.
n1 -ge n2Վերադարձնում է true, եթեn1ավելի կամ հավասարn2.
n1 -gt n2Վերադարձնում է true, եթեn1ավելին, քանn2.
n1 -le n2Վերադարձնում է true, եթեn1պակաս կամ հավասարn2.
n1 -lt n2Վերադարձնում է true, եթե n1-ը փոքր է, քանn2.
n1 -ne n2Վերադարձնում է true, եթե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Սա է այն, ինչ այս հրամանը կարտացոլի։

Թվերի համեմատումը սցենարներում
Փոփոխական արժեք val1ավելի քան 5, ճյուղը վերջապես կատարվում է thenհամեմատության օպերատորը, և համապատասխան հաղորդագրություն է ցուցադրվում կոնսոլում։
Տողերի համեմատություն
Դուք կարող եք համեմատել տողերի արժեքները նաև սկրիպտներում: Համեմատության օպերատորները բավականին պարզ են թվում, բայց տողերի համեմատության որոշ հատուկ առանձնահատկություններ կան, որոնք մենք կքննարկենք ստորև: Ահա օպերատորների ցանկը:
str1 = str2Ստուգում է տողերի հավասարությունը, վերադարձնելով true, եթե տողերը նույնական են։
str1 != str2Վերադարձնում է true, եթե տողերը նույնական չեն։
str1 < str2Վերադարձնում է true, եթեstr1ավելի քիչ քանstr2.
str1 > str2Վերադարձնում է true, եթե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Սկրիպտի կատարման արդյունքում մենք կստանանք հետևյալը։

Սկրիպտներում տողերի համեմատում
Տողերի համեմատության մեջ կա մեկ առանձնահատկություն, որը հարկ է նշել։ Մասնավորապես, ">" և "<" օպերատորները պետք է բացվեն հակառակ թեք նշանով, հակառակ դեպքում սկրիպտը ճիշտ չի աշխատի, չնայած սխալի հաղորդագրություններ չեն հայտնվի։ Սկրիպտը ">" նշանը մեկնաբանում է որպես ելքային վերահասցեավորման հրաման։
Ահա, թե ինչպես է այս օպերատորների հետ աշխատանքը կոդում երևում.
#!/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Ահա սցենարի արդյունքները։

Տողերի համեմատություն, ցուցադրված նախազգուշացում
Խնդրում ենք նկատի ունենալ, որ սկրիպտը, չնայած կատարված է, առաջացնում է նախազգուշացում.
./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Հիմա ամեն ինչ աշխատում է այնպես, ինչպես պետք է։

Տողերի համեմատություն
">" և "<" օպերատորների մեկ այլ առանձնահատկությունն այն է, թե ինչպես են նրանք աշխատում մեծատառերի և փոքրատառերի հետ։ Այս առանձնահատկությունը հասկանալու համար պատրաստենք հետևյալ բովանդակությամբ տեքստային ֆայլ՝
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Եթե այն գործարկեք, կտեսնեք, որ ամեն ինչ հակառակն է. փոքրատառը հիմա մեծ է մեծատառից։

Սորտավորման հրամանի և տողի համեմատությունը սկրիպտի ֆայլում
Համեմատության հրամաններում մեծատառերը փոքր են, քան փոքրատառերը։ Տողերի համեմատությունները կատարվում են այստեղ՝ համեմատելով նիշերի 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 ծրագրավորման թեման հսկայական է։ Այս հոդվածը 11 նյութերի մեծ շարքի առաջին մասի թարգմանությունն է։ Եթե ցանկանում եք շարունակել հենց հիմա, ահա այդ նյութերի բնօրինակների ցանկը։ Հարմարության համար այստեղ ներառված է նաև այն, որը դուք հենց նոր կարդացիք։
- — այստեղ մենք խոսում ենք այն մասին, թե ինչպես սկսել bash սկրիպտներ ստեղծել, դիտարկվում է փոփոխականների օգտագործումը, նկարագրվում են պայմանական կառուցումները, հաշվարկները, թվերի, տողերի համեմատությունները, ֆայլերի մասին տեղեկատվության որոնումը։
- — այստեղ բացահայտվում են for և while ցիկլերի հետ աշխատելու առանձնահատկությունները։
- — Այս նյութը նվիրված է հրամանի տողի պարամետրերին և բանալիներին, որոնք կարող են փոխանցվել սկրիպտներին, որոնք աշխատում են օգտատիրոջ մուտքագրած տվյալների հետ և որոնք կարող են կարդացվել ֆայլերից։
- — այստեղ մենք խոսում ենք ֆայլերի նկարագրիչների և դրանց հետ աշխատելու, մուտքային, ելքային, սխալների հոսքերի, ելքային վերահղման մասին։
- — այս նյութը նվիրված է Linux ազդանշաններին, դրանց մշակմանը սկրիպտներում և սկրիպտների ժամանակացույցով գործարկմանը։
- — այստեղ դուք կարող եք իմանալ սկրիպտներում ֆունկցիաներ ստեղծելու և օգտագործելու, գրադարաններ մշակելու մասին։
- — Այս հոդվածը վերաբերում է հոսքային տեքստային խմբագրիչ sed-ի հետ աշխատանքին։
- — այս նյութը նվիրված է awk տվյալների մշակման լեզվով ծրագրավորմանը։
- — այստեղ կարող եք կարդալ bash սկրիպտներում կանոնավոր արտահայտությունների օգտագործման մասին։
- — ահա օգտատերերին ուղարկվող հաղորդագրությունների հետ աշխատելու տեխնիկան, ինչպես նաև սկավառակի մոնիթորինգի մեթոդը։
- — այս նյութը նվիրված է Expect գործիքին, որը կարող է օգտագործվել ինտերակտիվ կոմունալ ծառայությունների հետ փոխազդեցությունը ավտոմատացնելու համար։ Մասնավորապես, խոսքը Expect սկրիպտների և դրանց bash սկրիպտների և այլ ծրագրերի հետ փոխազդեցության մասին է։
Մենք կարծում ենք, որ այս հոդվածաշարի հիանալի կողմերից մեկն այն է, որ այն սկսվում է պարզ և բոլոր հմտությունների մակարդակների օգտատերերի համար հարմար մի բանով, ապա աստիճանաբար հանգեցնում է բավականին լուրջ թեմաների՝ բոլորին հնարավորություն տալով սկսել Linux հրամանային տողի սկրիպտավորումը։
Սիրելի՛ ընթերցողներ, մենք խնդրում ենք bash ծրագրավորման գուրուներին պատմել, թե ինչպես են հասել վարպետության բարձունքներին, կիսվել իրենց գաղտնիքներով, և սպասում ենք տպավորությունների նրանցից, ովքեր հենց նոր են գրել իրենց առաջին սցենարը։
Հարցմանը կարող են մասնակցել միայն գրանցված օգտվողները։ , խնդրում եմ:
Թարգմանե՞լ հոդվածաշարի մնացած մասը։
Yes!
Ոչ, դա անհրաժեշտ չէ։
Քվեարկել է 1030 օգտատեր։ 106 օգտատեր ձեռնպահ է մնացել։
Source: www.habr.com
