Ysa-k05-ru: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
| Line 34: | Line 34: | ||
Создадим файл: |
Создадим файл: |
||
<pre> |
|||
```bash |
|||
nano hello.sh |
nano hello.sh |
||
</pre> |
|||
```` |
|||
Вставим следующий текст: |
Вставим следующий текст: |
||
<pre> |
|||
```bash |
|||
#!/bin/bash |
#!/bin/bash |
||
echo "Hello, Unix Administrator!" |
echo "Hello, Unix Administrator!" |
||
<pre> |
|||
``` |
|||
=== Объяснение === |
=== Объяснение === |
||
Revision as of 13:22, 30 December 2025
Kapitel 5: Простые Bash-скрипты, переменные окружения, PATH и Aliases
Цели главы
В этой главе ученик:
- поймёт, что такое Bash-скрипты и зачем они нужны системному администратору
- научится создавать и запускать простые Bash-скрипты
- разберётся с правами на выполнение файлов
- поймёт, что такое переменные окружения
- узнает, что такое PATH и зачем он нужен
- научится создавать aliases (псевдонимы команд)
- научится настраивать PATH и aliases в файле ~/.bashrc
---
1. Что такое Bash-скрипт
Bash-скрипт — это обычный текстовый файл, в котором записана последовательность команд Bash. Скрипты используются для:
- автоматизации повторяющихся задач
- упрощения администрирования
- запуска нескольких команд одной командой
Пример задач для скрипта:
- резервное копирование файлов
- очистка временных каталогов
- проверка доступности сервера
- автоматическая установка и настройка ПО
---
2. Создание первого Bash-скрипта
2.1 Создание файла с помощью nano
Создадим файл:
nano hello.sh
Вставим следующий текст:
#!/bin/bash echo "Hello, Unix Administrator!"Объяснение
* `#!/bin/bash` — shebang Указывает системе, что файл нужно выполнять с помощью интерпретатора `/bin/bash` * `echo` — команда вывода текста на экран Сохраняем файл: * `Ctrl + O` → Enter * `Ctrl + X` ---3. Проверка прав файла
Посмотрим права: ```bash ls -l hello.sh ``` Пример вывода: ```text -rw-r--r-- 1 user user 45 hello.sh ```Объяснение прав
* `-` — обычный файл * `rw-` — владелец может читать и писать * `r--` — группа может только читать * `r--` — остальные могут только читать ⚠️ Обратите внимание: **нет права на выполнение (`x`)** ---4. Добавление права на выполнение
Сделаем файл исполняемым: ```bash chmod +x hello.sh ``` Проверим: ```bash ls -l hello.sh ``` Теперь: ```text -rwxr-xr-x 1 user user 45 hello.sh ``` ---5. Запуск Bash-скрипта
Запуск из текущего каталога: ```bash ./hello.sh ``` Вывод: ```text Hello, Unix Administrator! ``` ⚠️ Важно: Скрипты **не запускаются просто по имени**, если каталог не находится в PATH. ---6. Переменные окружения
6.1 Что такое переменные окружения
Переменные окружения — это значения, которые доступны программам и скриптам. Они используются для: * хранения настроек * определения поведения программ * передачи информации между процессами Примеры: * `USER` * `HOME` * `SHELL` * `PATH` ---6.2 Просмотр переменных окружения
Показать все переменные: ```bash env ``` Или: ```bash printenv ``` Показать конкретную переменную: ```bash echo $USER echo $HOME echo $SHELL ``` ---6.3 Создание переменной
В текущей сессии: ```bash MYVAR="test" echo $MYVAR ``` ⚠️ После выхода из терминала переменная исчезнет. ---7. Переменная PATH
7.1 Что такое PATH
PATH — это список каталогов, в которых Bash ищет исполняемые файлы. Посмотрим PATH: ```bash echo $PATH ``` Пример: ```text /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ```Как работает PATH
Когда вы вводите: ```bash ls ``` Bash ищет `ls`: * в `/usr/local/bin` * затем `/usr/bin` * затем `/bin` * и т.д. ---7.2 Добавление каталога в PATH (временно)
```bash export PATH=$PATH:/home/user/scripts ``` Теперь скрипты из этого каталога можно запускать без `./` ---8. Aliases (псевдонимы команд)
8.1 Что такое alias
Alias — это сокращённое имя для команды. Пример: ```bash alias ll='ls -lah' ``` Теперь: ```bash ll ```Просмотр alias
```bash alias ``` ---8.2 Удаление alias
```bash unalias ll ``` ---9. Файл ~/.bashrc
9.1 Назначение ~/.bashrc
Файл `~/.bashrc` выполняется: * при запуске интерактивной Bash-сессии * для настройки окружения пользователя Используется для: * aliases * переменных окружения * настройки PATH * пользовательских функций ---9.2 Редактирование ~/.bashrc
Открываем: ```bash nano ~/.bashrc ``` Добавляем в конец файла: ```bash # Custom aliases alias ll='ls -lah' alias gs='git status' # Custom PATH export PATH=$PATH:$HOME/scripts ``` Сохраняем и применяем: ```bash source ~/.bashrc ``` ---10. Практические задания
Задание 1: Первый скрипт
* Создать скрипт `date_info.sh` * Скрипт должен выводить: * текущую дату * имя пользователя * текущий каталог Подсказка: ```bash date whoami pwd ``` ---Задание 2: Права доступа
* Убрать право на выполнение у скрипта * Попробовать запустить его * Вернуть право на выполнение ---Задание 3: Переменные окружения
* Создать переменную `ADMIN_NAME` * Использовать её в скрипте для вывода приветствия ---Задание 4: PATH
* Создать каталог `~/scripts` * Переместить туда скрипт * Добавить каталог в PATH через ~/.bashrc * Запустить скрипт без `./` ---Задание 5: Aliases
* Создать alias: * `ll` → `ls -lah` * `psg` → `ps aux | grep` * Проверить их работу * Убедиться, что они сохраняются после перезапуска терминала ---11. Дополнительные материалы для самообучения
* `man bash` * `man chmod` * `man env` * Bash scripting guide (Advanced Bash-Scripting Guide) * Практика: переписать ежедневные команды в виде скриптов * Экспериментировать с `.bashrc` в тестовой системе ---Итог
После этой главы ученик умеет: * создавать и запускать Bash-скрипты * работать с правами на выполнение * понимать и использовать переменные окружения * настраивать PATH * создавать aliases * настраивать пользовательское окружение Bash Это фундамент для автоматизации и профессиональной работы Unix System Administrator.