Missing tasks for conditional and loop structures. Also elaboration on funcitons

pull/1/head^2
vlpr 1 year ago
parent b8b610673c
commit bbc644388c

@ -84,6 +84,8 @@ echo_arguments () {
echo "First three arguments: $0 $1 $2 $3, Argument count: $#, All arguments: $@" echo "First three arguments: $0 $1 $2 $3, Argument count: $#, All arguments: $@"
} }
``` ```
По умолчанию переменная глобальна для скрипта, даже если определена внутри функции. Чтобы сделать переменную локальной, используйте синтаксис `local variable` внутри функции.
Напишите аналогичный предыдущему заданию скрипт, но оберните все действия в функцию, а в конце скрипта выполните эту функцию. Проверьте работу скрипта. Работает ли функция за пределами контекста скрипта? Напишите аналогичный предыдущему заданию скрипт, но оберните все действия в функцию, а в конце скрипта выполните эту функцию. Проверьте работу скрипта. Работает ли функция за пределами контекста скрипта?
### 5. ### 5.
@ -99,6 +101,16 @@ if [[ условное выражение ]]; then
fi fi
``` ```
## 6.5 Пропущенные задания
https://ryanstutorials.net/bash-scripting-tutorial/bash-if-statements.php
http://mywiki.wooledge.org/BashFAQ/031
https://ryanstutorials.net/bash-scripting-tutorial/bash-loops.php
https://ryanstutorials.net/bash-scripting-tutorial/bash-functions.php
### 7. ### 7.
Напишите скрипт, который проходит по всем файлам, переданным в качестве аргументов, и ищет в них строку `hello`. Перенаправьте grep `STDOUT` и `STDERR` в специальный файл `/dev/null`. Для каждого файла в `if` создайте файл с содержимым `hello`, если `grep` завершился с ошибкой. Напишите скрипт, который проходит по всем файлам, переданным в качестве аргументов, и ищет в них строку `hello`. Перенаправьте grep `STDOUT` и `STDERR` в специальный файл `/dev/null`. Для каждого файла в `if` создайте файл с содержимым `hello`, если `grep` завершился с ошибкой.
@ -254,11 +266,13 @@ echo "Everything went according to plan"
4. https://www.opennet.ru/docs/RUS/bash_scripting_guide/c301.html 4. https://www.opennet.ru/docs/RUS/bash_scripting_guide/c301.html
5. https://www.shellcheck.net/ 5. https://www.shellcheck.net/
6. http://mywiki.wooledge.org/BashFAQ/105 6. http://mywiki.wooledge.org/BashFAQ/105
7. http://mywiki.wooledge.org/BashFAQ/031
## Релевантные мануалы: ## Релевантные мануалы:
- man bash - man bash
- source (man bash, SHELL BUILTIN COMMANDS) - source (man bash, SHELL BUILTIN COMMANDS)
- man shellcheck - man shellcheck
- man test
## Литература ## Литература
- Эви Немет и др. — Unix и Linux. Руководство системного администратора. 5-e издание [Глава 7] - Эви Немет и др. — Unix и Linux. Руководство системного администратора. 5-e издание [Глава 7]
Loading…
Cancel
Save