Чтение онлайн

на главную

Жанры

Искусство программирования на языке сценариев командной оболочки

Купер Мендель

Шрифт:

>|

принудительное перенаправление, даже если установлен ключ noclobber option.

||

логическая операция OR (логическое ИЛИ). В опрециях проверки условий, оператор || возвращает 0 (success), если один из операндов имеет значение true (ИСТИНА).

&

Выполнение задачи в фоне. Команда, за которой стоит &, будет исполняться в фоновом режиме.

bash$ sleep 10 &

[1] 850

[1]+ Done sleep 10

В

сценариях команды, и даже циклы могут запускаться в фоновом режиме.

Пример 3-3. Запуск цикла в фоновом режиме

#!/bin/bash

# background-loop.sh

for i in 1 2 3 4 5 6 7 8 9 10 # Первый цикл.

do

echo -n "$i "

done & # Запуск цикла в фоне.

# Иногда возможны случаи выполнения этого цикла после второго цикла.

echo # Этот 'echo' иногда не отображается на экране.

for i in 11 12 13 14 15 16 17 18 19 20 # Второй цикл.

do

echo -n "$i "

done

echo # Этот 'echo' иногда не отображается на экране.

# ======================================================

# Ожидается, что данный сценарий выведет следующую последовательность:

# 1 2 3 4 5 6 7 8 9 10

# 11 12 13 14 15 16 17 18 19 20

# Иногда возможен такой вариант:

# 11 12 13 14 15 16 17 18 19 20

# 1 2 3 4 5 6 7 8 9 10 bozo $

# (Второй 'echo' не был выполнен. Почему?)

# Изредка возможен такой вариант:

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

# (Первый 'echo' не был выполнен. Почему?)

# Крайне редко встречается и такое:

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

# Второй цикл начал исполняться раньше первого.

exit 0

Команда, исполняемая в пределах сценария в фоне, может подвесить сценарий, ожидая нажатия клавиши. К счастью, это легко "лечится".

&&

Логическая операция AND (логическое И). В операциях проверки условий, оператор && возвращает 0 (success) тогда, и только тогда, когда оба операнда имеют значение true (ИСТИНА).

префикс ключа. С этого символа начинаются опциональные ключи команд.

COMMAND -[Option1][Option2][...]

ls -al

sort -dfu $filename

set -- $variable

if [ $file1 -ot $file2 ]

then

echo "Файл $file1 был создан раньше чем $file2."

fi

if [ "$a" -eq "$b" ]

then

echo "$a равно $b."

fi

if [ "$c" -eq 24 -a "$d" -eq 47 ]

then

echo "$c равно 24, а $d равно 47."

fi

перенаправление из/в stdin или stdout. [дефис]

(cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xpvf -)

# Перемещение полного дерева файлов и подкаталогов из одной директории в другую

# [спасибо Алану Коксу (Alan Cox) <a.cox@swansea.ac.uk>, за небольшие поправки]

# 1) cd /source/directory Переход в исходный каталог, содержимое которого будет перемещено

# 2) && "И-список": благодаря этому все последующие команды будут выполнены

# только тогда, когда 'cd' завершится успешно

# 3) tar cf - . ключом 'c' архиватор 'tar' создает новый архив,

# ключом 'f' (file) и последующим '-' задается файл архива -- stdout,

# в архив помещается текущий каталог ('.') с вложенными подкаталогами.

# 4) | конвейер с ...

# 5) ( ... ) subshell-ом (дочерним экземпляром командной оболочки)

# 6) cd /dest/directory Переход в каталог назначения.

Поделиться:
Популярные книги

Сумеречный стрелок 8

Карелин Сергей Витальевич
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Сумеречный стрелок 8

Мимик нового Мира 13

Северный Лис
12. Мимик!
Фантастика:
боевая фантастика
юмористическая фантастика
рпг
5.00
рейтинг книги
Мимик нового Мира 13

Отмороженный 10.0

Гарцевич Евгений Александрович
10. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 10.0

Бывший муж

Рузанова Ольга
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Бывший муж

Безнадежно влип

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Безнадежно влип

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

Жена фаворита королевы. Посмешище двора

Семина Дия
Фантастика:
фэнтези
5.00
рейтинг книги
Жена фаворита королевы. Посмешище двора

Последняя Арена 7

Греков Сергей
7. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 7

Возвращение Безумного Бога 4

Тесленок Кирилл Геннадьевич
4. Возвращение Безумного Бога
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога 4

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Авиатор: назад в СССР

Дорин Михаил
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Авиатор: назад в СССР

Кодекс Охотника. Книга III

Винокуров Юрий
3. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Кодекс Охотника. Книга III