Команди, Синтакса и Примери
Можете да извршите низа на команди со запишување во скриптна датотека и потоа да ја извршите.
Датотеката за скрипта е едноставна текстуална датотека, обично со екстензија на .SH, која содржи низа инструкции кои исто така може да се извршат од командната линија ( школка ).
Додека примери на јамки
Подолу е пример за време на јамка. Кога ќе се изврши, оваа скриптна датотека ќе ги испечати броевите од 1 до 9 на екранот. Изјавата додека е дадена ви дава поголема флексибилност за одредување на состојбата на прекин отколку за-јамка .
#! / bin / bash count = 1 додека [$ count -le 9] го повторува списокот "count count" 1 ((count +))На пример, претходната скрипта може да ја направите бесконечна јамка со отфрлање на инкрементната изјава "((count ++))":
#! / bin / bash count = 1 додека [$ count -le 9] го повторува "$ count" спиењето 1Изјавата "спиење 1" го паузира извршувањето за 1 секунда за секоја повторување. Користете ја кратенката Ctrl + C за да го прекинете процесот.
Вие исто така може да креирате бесконечна јамка со поставување на дебелото црево како услов:
#! / bin / bash count = 1 додека: го повторувам "$ count" спиењето 1 ((count ++))За да користите повеќе услови во време-циклусот, мора да ја користите двојната квадратна заграда:
count = 1 направено = 0 додека [[$ count -le 9] && [$ done == 0]] echo "$ count" sleep 1 ((count ++)) ако [$ count == 5]; тогаш $ направено = 1 fi направеноВо оваа скрипта, променливата "направено" се иницијализира на 0 и потоа се поставува на 1 кога бројот ќе достигне 5. Состојбата на јамка наведува дека додека јамката ќе продолжи сè додека "брои" е помала од девет и "готова" е еднаква до нула. Затоа јамките излегуваат кога бројот е 5.
"&&" значи логично "и" и "||" значи логично "или".
Алтернативна нотација за сврзниците "и" и "или" во услови е "-a" и "-o" со единечни квадратни загради. Горенаведениот услов:
[[$ count -le 9] && [$ done == 0]]... може да се препишува како:
[$ count -le 9] -a [$ done == 0]Читањето на текстуална датотека обично се прави со времена јамка. Во следниот пример, баш скриптот ја чита содржината линија со линија на датотека наречена "inventory.txt:"
FILE = инвентар.txt exec 6Првата линија го назначува името на влезната датотека во променливата "FILE". Втората линија го зачувува "стандардниот влез" во дескрипторот на датотеката "6" (може да биде било која вредност помеѓу 3 и 9). Ова е направено така што "стандардниот влез" може да се врати во датотечниот дескриптор "0" на крајот на сценариото (види ја изјавата "exec 0 Во третата линија, влезната датотека е доделена на дескриптор на датотека" 0 ", кој се користи за стандарден влез. Извештајот "чита" потоа чита линија од датотеката на секоја итерација и ја доделува на променливата "line1".
Со цел предвремено да излезете од време на јамка, можете да го користите изјавата за пауза како оваа:
count = 1 направено = 0 додека [$ count -le 9] го повторува списокот "count count" 1 (count + count)), ако [$ count == 5]Изјавата за пауза го прескокнува извршувањето на програмата до крајот додека јавува и ги извршува сите изјави што следат. Во овој случај, изјавата "ехо заврши".
Изјавата за продолжување, од друга страна, ја прескокнува само остатокот од изјавата за циклус додека ја повторува тековната итерација и скока директно до следното повторување:
count = 1 направено = 0 додека [$ count -le 9] го спие 1 ((count ++)), ако [$ count == 5] продолжува ficho "$ count" направи echo FinishedВо овој случај, изјавата "продолжи" се извршува кога променливата "count" достигне 5. Ова значи дека следната изјава (ехо "$ count") не се извршува на оваа итерација (кога вредноста на "count" е 5).