Հրամաններ, շարահյուսություն եւ օրինակներ
Դուք կարող եք կատարել հրամանների հաջորդականությունը, դրանք գրելով սցենարով եւ այնուհետեւ վարում:
Սցենար ֆայլը պարզապես տեքստային ֆայլ է, սովորաբար .SH ֆայլի ընդլայնում, որը պարունակում է հրահանգների հերթականությունը, որը կարող է կատարվել նաեւ հրամանի տողից ( shell ):
Չնայած հանգույցների օրինակներ
Ստորեւ բերված է մի հանգույցի օրինակ: Երբ կատարվում է, այս սցենարի ֆայլը կտարբերվի էկրանին 1-ից 9-ը: The while- հայտարարությունը ձեզ ավելի շատ ճկունություն է տալիս դադարեցման պայմանն ընդգծելու համար, քան նախատիպը :
#! / bin / bash count = 1, մինչդեռ [$ count -le 9] -ը echo "$ count" sleep 1 ((count ++)) արելՕրինակ, նախորդ սցենարը կարող եք անսահման հանգույց թողնել, ավելացնելով «((count ++))» հավելյալ հայտարարությունը:
#! / bin / bash count = 1, մինչդեռ [$ count -le 9] կատարեք echo «$ count» քուն 1«Երազ 1» հայտարարությունը դադարեցնում է յուրաքանչյուր ատրկերում 1 վայրկյանից կատարումը: Օգտագործեք Ctrl + C ստեղնաշարի դյուրանցումը `գործընթացը դադարեցնելու համար:
Դուք նաեւ կարող եք ստեղծել անսահման հանգույց `դնելով կույտ` որպես պայման:
#! / bin / bash count = 1, մինչդեռ կատարեք echo "$ count" քուն 1 ((count ++))Որոշ ժամանակահատվածում բազմակի պայմանների օգտագործման համար դուք պետք է օգտագործեք կրկնակի քառակուսի փակագիծը:
[$ count = 9] && [$ done == 0]] = "count count" sleep 1 ((count ++)) եթե [$ count == 5]; ապա $ done = 1 fi doneԱյս սցենարի մեջ փոփոխական «արել» փոփոխված է 0-ին եւ այնուհետեւ `1-ին, երբ հաշվարկը հասնում է 5-ի: Անցումային հանգույցը նշում է, որ while loop- ը կշարունակվի այնքան ժամանակ, քանի« հաշվարկը »9-ից պակաս է, իսկ« արել »հավասար է զրոյին: Հետեւաբար հանգույցները դուրս են գալիս, երբ հաշվարկը հավասար է 5-ը:
"&&" նշանակում է տրամաբանական "եւ" եւ "||" նշանակում է տրամաբանական "կամ":
Այլ պայմաններ «եւ» եւ «կամ» պայմանների համար «-a» եւ «-o» եզակի քառակուսի փակագծերի համար: Վերոնշյալ պայմանը `
[[$ count -le 9] եւ & [$ done == 0]]... կարող էր վերագրվել, ինչպես:
[$ count -le 9] -a [$ done == 0]Տեքստային ֆայլի ընթերցումը սովորաբար կատարվում է մի ժամանակ հանգույցով: Հետեւյալ օրինակում, bash- ի սցենարն ընթերցում է բովանդակության գիծը `« inventory.txt:
Ֆայլը = inventory.txt exec 6Առաջին տողը մուտքագրում է ֆայլի անունը «FILE» փոփոխականին: Երկրորդ գիծը պահպանում է «ստանդարտ մուտքագրումը» «6» ֆայլի նկարագրության մեջ (այն կարող է լինել 3-ից 9-ը): Սա կատարվում է այնպես, որ «ստանդարտ մուտքագրումը» կարող է վերականգնվել սցենարի վերջում «0» descriptor- ի նկարագրության համար (տես, «exec 0» - ի 3-րդ շարքում մուտքագրման ֆայլը նշանակված է «0» ստանդարտ մուտքագրման համար: «կարդալ» արտահայտությունը այնուհետեւ կարդում է յուրաքանչյուր վերահղման վրա ֆայլի տողը եւ այն տալիս է «line1» փոփոխականին:
Որպեսզի ժամանակից շուտ դուրս գալու համար դուք կարող եք օգտագործել ընդմիջման հայտարարությունը հետեւյալը.
count = 1 = 0, իսկ [$ count -le 9], echo «$ count» քուն 1 ((count ++)) եթե [$ count == 5] ապա կոտրել fi done echo FinishedԸնդմիջման հայտարարությունը բացում է ծրագրի կատարումը մինչեւ վերջ, իսկ հետո կատարում է ցանկացած հայտարարություն: Այս պարագայում «echo ավարտված» հայտարարությունը:
Հաջորդ հայտարարությունը, մյուս կողմից, անցնում է ընթացիկ ուռուցքի մնացած ժամանակաշրջանի հանգույցի հայտարարության մեջ եւ ուղղակիորեն անցնում է հաջորդ կրոնափոխությանը.
[$ count -le 9] 1-ին ((count ++) քաշը, եթե [$ count == 5], ապա շարունակեք fi echo «$ count» կատարված echo ԱվարտվածԱյս դեպքում «շարունակել» հայտարարությունը կատարվում է այն ժամանակ, երբ փոփոխական «հաշվարկը» հասնում է 5-ի: Սա նշանակում է, հաջորդ հայտարարությունը (echo «$ count») չի կատարվում այս վերափոխման վրա (երբ «հաշվարկի» արժեքը 5 է):