Введение
Переменные — один из ключевых элементов написания скриптов в Bash. Они позволяют сохранять данные, взаимодействовать с пользователем и использовать результаты команд. Это особенно важно при автоматизации задач в рамках управления VPS или VDS-сервером. В этой статье рассмотрим, как работать с переменными, включая чтение данных, командную подстановку и создание констант.
Первая переменная: улучшаем Hello World
Начнем с простого примера. В предыдущем уроке вы, возможно, писали скрипт Hello World:
bashкопировать#! /bin/bash echo 'Hello, World!'
Улучшенный вариант с использованием переменной и ввода пользователя:
bashкопировать#! /bin/bash echo "Как тебя зовут?" read name echo "Привет, $name"
Пример вывода на VPS:
bashкопироватьuser@vps:~/scripts$ ./hello.sh Как тебя зовут? Elliot Привет, Elliot
Пошаговый разбор
#!/bin/bash
— директива shebang, указывающая интерпретатор.echo
— вывод строки в терминал.read name
— чтение пользовательского ввода и сохранение его в переменную.$name
— получение значения переменной.Символ
$
называется оператором разыменования в Bash.Типы переменных: строки, числа, символы
В Bash не нужно явно указывать тип переменной. Вы просто присваиваете значение:
shellкопироватьage=27 letter='c' color='blue' year=2025
Переменные можно переопределять:
bashкопироватьage=3
Константы в Bash
Если значение не должно изменяться, создайте константу:
bashкопироватьreadonly PI=3.14159
Попытка изменить
PI
приведет к ошибке:bashкопироватьbash: PI: readonly variable
Это полезно при работе с конфигурационными файлами и фиксированными параметрами в VPS-скриптах.
Командная подстановка
Очень часто необходимо сохранить в переменную результат команды. Например, дату или имя текущего пользователя:
bashкопироватьTODAY=$(date)
Старый синтаксис:
bashкопироватьTODAY=`date`
Современный и рекомендованный подход:
bashкопироватьvariable=$(command)
Умный Hello World без ввода
Для автоматизации на VPS часто не нужно запрашивать имя пользователя вручную — можно получить его автоматически:
bashкопировать#! /bin/bash echo "Привет, $(whoami)"
Пример:
bashкопироватьuser@vps:~$ ./hello.sh Привет, user
Такой подход полезен, когда вы хотите логировать действия пользователей на сервере или персонализировать уведомления от скриптов.
Заключение
Работа с переменными — основа написания Bash-скриптов для администрирования Linux-серверов. Используйте их для хранения настроек, обработки ввода и автоматизации процессов. Это позволяет сделать управление VPS более гибким, эффективным и персонализированным.