fix tasks 10

pull/1/head^2
vlpr 1 year ago
parent dd07437ab7
commit e7c76304a1

@ -27,13 +27,6 @@
Следующий синтаксис `<( CMD )` выполнит `CMD`, поместит вывод во временный файл и заменит `<()` именем этого файла. Это полезно, когда команды ожидают, что значения будут переданы через файл, а не `STDIN`. Например, `diff <(ls foo) <(ls bar)` покажет различия между файлами в каталогах foo и bar. Следующий синтаксис `<( CMD )` выполнит `CMD`, поместит вывод во временный файл и заменит `<()` именем этого файла. Это полезно, когда команды ожидают, что значения будут переданы через файл, а не `STDIN`. Например, `diff <(ls foo) <(ls bar)` покажет различия между файлами в каталогах foo и bar.
`*`Что произойдёт в данном случае?
```
(echo red; echo green 1>&2) | echo blue
```
Ответ в [1-2].
### 1. ### 1.
Кроме результатов в `STDOUT` и ошибок в `STDERR`енарии возвращают код возврата. Код возврата или статус выхода — это то, как скрипты/команды должны сообщать о том, как прошло выполнение. Значение `0` обычно означает, что все прошло нормально; все, что отличается от `0`, означает, что произошла ошибка. Кроме результатов в `STDOUT` и ошибок в `STDERR`енарии возвращают код возврата. Код возврата или статус выхода — это то, как скрипты/команды должны сообщать о том, как прошло выполнение. Значение `0` обычно означает, что все прошло нормально; все, что отличается от `0`, означает, что произошла ошибка.
@ -49,6 +42,12 @@ true ; echo "This will always run"
false ; echo "This will always run" false ; echo "This will always run"
``` ```
`*`Что произойдёт в данном случае?
```
(echo red; echo green 1>&2) | echo blue
```
Ответ в [1-2].
### 2. ### 2.
Чтобы назначить переменные в bash, используйте синтаксис `foo=bar`. Чтобы получить доступ к значению переменной запишите знак `$` перед её именем `$foo`. Обратите внимание, что `foo = bar` не будет работать, так как интерпретируется как вызов программы `foo` с аргументами `=` и `bar`. Как правило, в сценариях оболочки символ пробела выполняет разделение аргументов. Поначалу такое поведение может сбивать с толку, поэтому всегда проверяйте его. Чтобы назначить переменные в bash, используйте синтаксис `foo=bar`. Чтобы получить доступ к значению переменной запишите знак `$` перед её именем `$foo`. Обратите внимание, что `foo = bar` не будет работать, так как интерпретируется как вызов программы `foo` с аргументами `=` и `bar`. Как правило, в сценариях оболочки символ пробела выполняет разделение аргументов. Поначалу такое поведение может сбивать с толку, поэтому всегда проверяйте его.
@ -242,7 +241,7 @@ echo "Everything went according to plan"
- Не стесняйтесь адаптировать код из существующих скриптов для своих нужд. Но не занимайтесь программированием по принципу "копируй, вставляй и молись", если вы не понимаете кода. Потратьте время на то, чтобы разобраться в нем. Это время никогда не бывает потрачено впустую. - Не стесняйтесь адаптировать код из существующих скриптов для своих нужд. Но не занимайтесь программированием по принципу "копируй, вставляй и молись", если вы не понимаете кода. Потратьте время на то, чтобы разобраться в нем. Это время никогда не бывает потрачено впустую.
- В `bash` используйте опцию `-x` для вывода команд на экран перед их выполнением и `-n` для проверки команд на синтаксис без их выполнения. - В `bash` используйте опцию `-x` для вывода команд на экран перед их выполнением и `-n` для проверки команд на синтаксис без их выполнения.
- Помните, что в Python вы находитесь в режиме отладки, если явно не отключите его с помощью аргумента `-0` в командной строке. Перед выводом диагностического вывода можно проверить специальную переменную `__debug__`. - Помните, что в Python вы находитесь в режиме отладки, если явно не отключите его с помощью аргумента `-0` в командной строке. Перед выводом диагностического вывода можно проверить специальную переменную `__debug__`.
- Сообщения об ошибка должны идти в STDERR, а не STDOUT. - Сообщения об ошибка должны идти в `STDERR`, а не `STDOUT`.
- В сообщениях об ошибка указываете какая функция или операция не выполнилась. - В сообщениях об ошибка указываете какая функция или операция не выполнилась.
- Если произошла ошибка в системном вызове включайте в сообщение об ошибке `perror` строку. - Если произошла ошибка в системном вызове включайте в сообщение об ошибке `perror` строку.
- Используйте имена, набранные заглавными буквами, для указания на переменные среды или переменные, считываемые из глобальной конфигурации. В именах локальных переменных используйте строчные буквы, с разделением слов нижним подчёркиванием `_`. - Используйте имена, набранные заглавными буквами, для указания на переменные среды или переменные, считываемые из глобальной конфигурации. В именах локальных переменных используйте строчные буквы, с разделением слов нижним подчёркиванием `_`.

Loading…
Cancel
Save