fixed typos in 10

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

@ -72,9 +72,10 @@ false ; echo "This will always run"
- `$#` - количество аргументов, - `$#` - количество аргументов,
- `$?` - возвращаемый код предыдущей команды, - `$?` - возвращаемый код предыдущей команды,
- `$$` - идентификатор процесса текущего скрипта, - `$$` - идентификатор процесса текущего скрипта,
- `!!` - вся команда, включая аргументы (попробуйте `sudo !!`, если забыли, что команде требуются права суперпользователя),
- `$_` - последний аргумент последней команды (в терминале попробуйте нажать `Esc .` или `Alt+`). - `$_` - последний аргумент последней команды (в терминале попробуйте нажать `Esc .` или `Alt+`).
В терминале также доступна команда `!!`. Попробуйте `sudo !!`, если забыли, что команде требуются права суперпользователя). Команда `!!` будет работать в скрипте только, если в начале присутствует `set -H`, включающая работу с историей. По умолчанию это возможность включена для интерактивного взаимодействия.
Напишите скрипт, который создает каталог, а затем переходит в него, создаёт в нём файл и записывает в него значения всех специальных переменных. Путь к каталогу должен быть передан в качестве первого аргумента. Напишите скрипт, который создает каталог, а затем переходит в него, создаёт в нём файл и записывает в него значения всех специальных переменных. Путь к каталогу должен быть передан в качестве первого аргумента.
### 4. ### 4.
@ -203,7 +204,7 @@ read -r foo < configfile
рипты не обязательно должны быть написаны на `bash` для вызова из терминала. Ядро определяет, что сценарий нужно выполнять с помощью другого интерпретатора вместо командой оболочки, если в начало скрипта включена строка `shebang`. Хорошей практикой является написание строк `shebang` с помощью команды `env`, которая будет разрешаться везде, где эта команда находится в системе, что повышает переносимость ваших сценариев. Например, чтобы определить местоположение `python`, `env` будет использовать переменную среды `PATH` при записи `#!/usr/bin/env python`. Если у вас установлено несколько версий Python, то команда `/usr/bin/env` обеспечит использование интерпретатора, который стоит первым в `$PATH` окружения. Альтернативой может быть жесткая привязка вида `#!/usr/bin/python` что тоже нормально, но менее гибко. рипты не обязательно должны быть написаны на `bash` для вызова из терминала. Ядро определяет, что сценарий нужно выполнять с помощью другого интерпретатора вместо командой оболочки, если в начало скрипта включена строка `shebang`. Хорошей практикой является написание строк `shebang` с помощью команды `env`, которая будет разрешаться везде, где эта команда находится в системе, что повышает переносимость ваших сценариев. Например, чтобы определить местоположение `python`, `env` будет использовать переменную среды `PATH` при записи `#!/usr/bin/env python`. Если у вас установлено несколько версий Python, то команда `/usr/bin/env` обеспечит использование интерпретатора, который стоит первым в `$PATH` окружения. Альтернативой может быть жесткая привязка вида `#!/usr/bin/python` что тоже нормально, но менее гибко.
Напишите скрипт, который выполняет следующий код: Напишите скрипт, который выполняет следующий код:
```bash ```python
import sys import sys
for arg in reversed(sys.argv[1:]): for arg in reversed(sys.argv[1:]):
print(arg) print(arg)
@ -228,13 +229,13 @@ echo "Everything went according to plan"
### 12. ### 12.
Выберите любые две машины под вашим контролем, имеющие доступ друг к другу по сети, и создайте на каждой машине папку `/data/` с заданными правами и владельцем `-rwxr-xr-x root root`. Выполните задание в соответствие с лучшими практиками для написания скриптов. В задачи скрипта входят: Выберите любые две машины под вашим контролем, имеющие доступ друг к другу по сети, и создайте на каждой машине папку `/data/` с заданными правами и владельцем `-rwxr-xr-x root root`. Выполните задание в соответствие с лучшими практиками для написания скриптов. В задачи скрипта входят:
- создание пользователя на двух машинах с домашними директориями и интервретатором `bash` по умолчанию, - создание пользователя на двух машинах с домашними директориями и интерпретатором `bash` по умолчанию,
- создание для пользователя папки в `/data/` с доступом только её владельцу, - создание для пользователя папки в `/data/` с доступом только её владельцу,
- создание ссылки в домашней директории на директорию в `/data/`, - создание ссылки в домашней директории на директорию в `/data/`,
- настройки беспарольного перемещения между машинами: - настройки беспарольного перемещения между машинами:
1. генерирация пользователю ключа `ed25519`, 1. генерирация пользователю ключа `ed25519`,
2. рассылка по машинам, 2. рассылка по машинам,
3. регистрирация ключа в списке авторизованных. 3. регистрация ключа в списке авторизованных.
## Лучшие практики написания скриптов ## Лучшие практики написания скриптов

Loading…
Cancel
Save