Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Контрольні оператори: інший спосіб розгалуження

bash надає два оператори керування, які можуть виконувати розгалуження. && (І) та || Оператори (АБО) працюють як логічні оператори в складеній команді [[ ]]. Ось синтаксис:

команда1 && команда2

та

команда1 || команда2

Важливо розуміти їх поведінку. З && оператор, команда1 виконується і команда2 виконується, якщо, і тільки якщо, команда1 є успішним. З || оператор, команда1 виконується і команда2 виконується, якщо, і тільки якщо, команда1 невдалий.

З практичної точки зору це означає, що ми можемо зробити щось подібне:



[me@linuxbox ~]$ mkdir temp && cd temp

[me@linuxbox ~]$ mkdir temp && cd temp


Це створить каталог з іменем температура, і якщо це вдасться, поточний робочий каталог буде змінено на температура. Друга команда виконується лише за умови mkdir команда успішно виконана. Аналогічно, така команда:



[me@linuxbox ~]$ [[ -d temp ]] || mkdir темп

[me@linuxbox ~]$ [[ -d temp ]] || mkdir темп


перевірить наявність каталогу температура, і лише в разі невдачі тесту буде створено каталог. Цей тип конструкції дуже зручний для обробки помилок у скриптах, тему, яку ми докладніше обговоримо в наступних розділах. Наприклад, ми можемо зробити це за допомогою сценарію:


[ -d temp ] || вихід 1

[ -d temp ] || вихід 1


Якщо для сценарію потрібен каталог температура, і він не існує, то сценарій завершиться зі статусом виходу один.


Найпопулярніші хмарні обчислення ОС на OnWorks: