АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Арифметичні операції

Читайте также:
  1. Агент генеральний агентські операції
  2. Біржові операції
  3. Валютний кліринг валютні операції
  4. Валютні операції на умовах спот
  5. Вексель як форма міжгосподарських розрахунків. Банківські операції з векселями
  6. Відобразити вказані операції в бухгалтерському обліку.
  7. Відобразити ці операції в бухгалтерському обліку.
  8. Глава 10. Операції з оформлення
  9. Глава 9. Операції з оформлення
  10. Господарські операції АТ «Д.І.М.» за квітень - червень 2011 р.
  11. Господарські операції з обліку руху матеріальних цінностей бюджетних установ

В оболонці bash присутня команда let, яка дозволяє виконувати операції з арифметичними величинами. За допомогою цієї команди можна порівнювати числа і виконувати з ними такі операції, як додавання або множення. Команда let може замінюватися подвійними круглими дужками. Оператори let, що співпадають зі спеціальними символами оболонки, брати в лапки не потрібно. Якщо операнди арифметичного виразу розділені пропусками, цей вираз слід взяти в лапки. Наприклад:

$ let "res = 2 * 7"

$ echo $res

$

Команда порівняння test

Часто буває необхідно виконати перевірку, в ході якої порівнюються дві величини або перевіряється наявність того або іншого файлу. За допомогою команди test можна порівнювати цілі числа, рядки, і виконувати логічні операції. Результат перевірки - це код завершення операції test, який, як було сказано раніше, зберігається в спеціальній змінній $?. Замість ключового слова test можна використовувати квадратні дужки. Наприклад:

$ greeting="hallo"

$ num=5

$ test $num -eq 5; echo $?

$ [ $greeting = "hallo" ]; echo $?

$ test -f main.c; echo $?

В даному прикладі ми ініціалізуємо дві змінні. Потім виконуємо перевірки на рівність їх тому або іншому значенню (зверніть увагу, що рядки порівнюються за допомогою оператора =, а численні значення - за допомогою опції -eq). Остання перевірка - це перевірка наявності файлу main.c в поточному каталозі. Результат – неправда (файл не знайдено). Операції команди test наведені у Додатку Д.

Умови

В оболонці bash є набір умовних керуючих структур, які забезпечують умовне розгалуження програм. Багато з цих структур аналогічні умовним керуючим структурам мов програмування, але є деяка різниця.

Конструкція if ставить умову для виконання команди. Цією умовою є код завершення якоїсь конкретної команди. Якщо команда виконана успішно (код завершення дорівнює нулю), то команди всередині структури if виконуються. В іншому випадку виконується гілка else (якщо вона присутня) або керування передається наступному за if-конструкцією оператору. Керуюча структура if повинна закриватися ключовим словом fi (if навпаки). Синтаксис if-конструкції такий:

if <команда-умова>

then

<команди>

else

<команди>

fi

В якості команди-умови як правило використовується команда test або її альтернативна форма - квадратні дужки [].

Вкладення умов if здійснюється за допомогою структури elif. Вкладеність elif не обмежується. Остання гілка каскаду elif повинна починатися зі слова else:

if <команда-умова>

then

<команди>

elif

<команди>

else

<команди>

fi

Керуюча структура case забезпечує вибір одного з кількох можливих варіантів. Вибір здійснюється шляхом порівняння заданого в структурі значення з кількома можливими зразками. Кожне можливе значення змінної, що перевіряється (зразок) пов'язується з сукупністю операцій. Кожен зразок являє собою регулярний вираз, що завершується круглою дужкою. Список команд, що виконуються завершується двома крапками з комами, що стоять на окремому рядку. Вся конструкція завершується ключовим словом esac (case навпаки). Синтаксис структури:

case <рядок> in

зразок)

команди

;;

зразок)

команди

;;

*)

команди по замовчуванню

;;

esac

Зразок може містити спеціальні символи: *, [],?, |. Варіант по замовчуванню включати до структури не обов'язково.

Цикли

Командний інтерпретатор дозволяє створювати гнучкі циклічні структури. Конструкція while забезпечує виконання окремої команди, доки виконується умова (код виконання команди-умови дорівнює нулю). Замикає конструкцію ключове слово done:

while <команда-умова>

do

команди

done

Як і в if-структурі, команда-умова частіше всього представляється перевіркою test (або квадратними дужками).

Цикл until аналогічний циклу while. Він відрізняється тим, що команди тіла циклу виконуються до того часу, доки умова залишається НЕ виконаною:

until <команда-умова>

do

команди

done

Структура for-in призначена для послідовного звернення до значень, перерахованих у списку. В ній два операнди - змінна і список значень. Кожне зі значень по черзі присвоюється змінній структури. Цикл завершується, коли всі значення зі списку будуть вичерпані. Тіло циклу поміщується в операторні дужки do-done, синтаксис конструкції for-in:

for <змінна> in <список_значень>

do

команди

done

Структура for без явно заданого списку значень використовує в якості такого аргументи командного рядка. При першому проході змінній присвоюється значення першого аргументу командного рядка, при другому - значення другого, та ін.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)