Краткое введение в программирование на Bash [заметки]

Шрифт
Интервал

1

слова «сценарий» и «скрипт» обычно являются синонимами (прим. перев).

2

намного медленнее (прим. перев)

3

естественно при наличии интерпретатора для этой операционной системы (прим. перев)

4

автор еще забыл nano, который лучше всего подходит начинающим, если не учитывать еще и mcedit. (прим. перев.)

5

для новичков - этот пример работать не будет. (прим. перев.)

6

В примере, приведенном в оригинале автор показывает, что не зря рекомендовал делать приведенные упражнения под специально созданным пользователем. Результатом выполнения данной последовательности команд будет чистый каталог, в котором вы работаете. Скорее всего это будет ваша домашняя директория. Поэтому, если вы НЕ хотите удаления всех файлов в ней - НЕ выполняйте команды из оригинала статьи. А лучше последуйте совету автора и создайте отдельного пользователя специально для тренировки написания скриптов. Этот пример я немного расширил и теперь он не такой опасный. (прим. перев.)

7

Не стоит пытаться запомнить их все, т.к. это все равно нереально. Его всегда можно посмотреть в руководстве команды test - man test. (Прим. перев.)

8

Наличие пробелов объясняется просто: открывающая квадратная скобка - это команда оболочки. В этом можно легко убедиться набрав в консоли команду which [ . А раз это отдельная команда, то ее нужно отделить пробелами от остальных опций. (прим. перев.)

9

Полный список приведен в man test. (прим. перев.)

10

Этот скрипт реально так поступает и вам возможно это не нужно. Поэтому все-таки создайте отдельного пользователя, если вы еще до сих пор этого не сделали, и экспериментируйте под ним. (прим. перев.)

11

находятся слева от клавиши 1. (прим. перев.)

12

Главным образом, дело в том, что bash воспринимает пробел как разделитель всего, что только можно - опций, аргументов, отдельных команд. Внутри двойных кавычек пробел теряет свое специальное значение. (прим. перев.)

13

На мой взгляд, лучше использовать именно запись типа $(...), потому что запись в обратных кавычках и одинарных можно легко перепутать при наборе кода и при его чтении. (прим. перев.)

14

надеюсь со временем, как только текст появится, осилить и его перевод. (прим. перев.)

15

При работе с булевыми переменными ИСТИНА и ЛОЖЬ (True и False), bash ведет себя отлично от других языков программирования. В других языках 0 соответствует False (Ложь), а 1 — True (Истина). В bash все наоборот. Связано это с такой вещью, как коды завершения программ (см. ниже).

16

В переменной $$ обычно хранится следующий свободный PID. Именно поэтому использование такой переменной гарантирует уникальные имена для вновь создаваемых файлов.(Примечание переводчика)

17

На самом деле все работает так: Конструкция вида 2>&1 перенаправляет вывод ошибок (дескриптор 2) на стандартный вывод (дескриптор 1). Знак «загогулины» — & — тут нужен для того, чтобы пояснить bash, что вы имеете в виду не файл с именем 1, а именно файл с дескриптором 1, т. е. стандартный вывод. Если вы укажете что-то вроде:

>$ команда 2>1

то стандартный вывод ошибок пойдет в файл с именем 1. Конструкцией 2>&1 мы «сцепляем» вывод команды и вывод ошибок вместе. А первым перенаправлением (первым символом > в коментируемой команде) мы отправляем весь вывод команды в /dev/null. Чтобы дополнительно понять, как все работает, можете поэкспериментировать, убрав 2>&1 из команды и перезапустив ее.(Примечание переводчика)

18

И что более важно, будет ли она там работать также, как на вашей Linux системе. (Примечание переводчика)

19

Для проверки наличия в скрипте команд и функций специфичных для bash в ALT Linux есть пакет checkbashisms, который взят из пакета devscripts Debian.(Примечание переводчика)

20

Очень полезно также on-line руководство Advanced Bash-Scripting Guide (Примечание редактора)


Рекомендуем почитать
Горящая рана

Земля давно погибла вместе с солнечной системой, а человечество перебралось на Юплурий, где под куполом появился город. В нем выросло два брата, они стали исследователями и вместе со своей командой изучали планету. Хоктис был немного младше Гинвена, и именно ему было суждено столкнуться с одной из загадок нового дома. Но было ли это загадкой? Было ли это на самом деле? Что не так с Юплурием или с братьями? Может ли сон быть реальностью?


Привет из Чикаго. Перевод с американского на русский и обратно

Жизнь до отъезда в США описана автором в мемурах "Моя наша жизнь". Прожив в США более 20 лет, автор на основании личного опыта сравнивает типичные жизненные ситуации, как они бы выглядели в США и России, особенности поведения, социальные аспекты и общее биополе обеих стран. При этом сравнивается только то, что поддается сравнению, без намерения ставить отметки, где лучше. Все фото – из архива автора.


Вырождение Испанской ветви Габсбургов

Период испанских Габсбургов называют «Золотым веком Испании». В 1700 году со смертью Карла II Околдованного, одного из самых инфантильных, слабых и измученных болезнями императоров, золотой век закончился, пришедшая на его смену изнурительная война за испанское наследство разорила некогда великую империю. Сейчас мы постараемся ответить на следующие вопросы: Кто и почему “околдовал” императора Карла II? К чему приводят кровосмешения в родословной? Как бесплодный, инфантильный наследник престола развязал крупный европейский конфликт начала XVIII века?


Лоухи – Хозяйка Севера, Колдуны на троне, Оренбургский сфинкс и др.

Чудеса, загадки, мистика, феномены и тайны, которые по сей день будоражат человеческое воображение…


Эволюция

Нетипичный сюжет! Вторая книга в трилогии "Единственная для эшра", которая входит в цикл "Эшры и Тени". Её жизнь разделилась на до и после. Арина изменилась — она больше не человек, но и не эшр. Но откуда способности к генерации льда? От чего они появляются и исчезают, когда им вздумается? Сможет ли она найти своё место в этой новой реальности? Тьма сгущается: виновник её кошмара всё ещё не найден, а во снах её уже поджидает новый враг. Кто он? Что ему нужно? Отчего она бежит от него, не в силах сопротивляться навеянному им ужасу.


Песчаный фён. Часть первая

Будущее, в котором наступил долгожданный мир, и человечество покоряет космос. Колонизируются далёкие Марс, Юпитер, Сатурн. Все равны, но все ли довольны? Человечество стремится к далёким звёздам, но понимает ли оно себя? И вот, в один из октябрьских дней, предвидя крупный кризис, американский делегат при Правительственном собрании Земли, предлагает спасительную резолюцию. Казалось, что может пойти не так спустя пять лет? Ничто… Но если вспомнить, чем выложена дорога в ад? Люди забыли своё прошлое полное великих ошибок, ошибок, которые надеялись помнить и не совершать вновь. Автор иллюстрации — Ольга Калинина.