Как эффективно управлять конфигурациями через alias в Bash

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

bashaliasпеременные окружения

ℹ️ Зачастую, работая с разными окружениями (dev, staging, prod), IT-специалисту приходится переключаться между различными конфигурациями, адресами серверов, или настройками переменных.

🔥 Вместо того чтобы вручную редактировать файлы конфигураций или постоянно вводить разные команды для подключения, можно использовать alias и динамическую подмену окружений в Bash.

📂 1. Создаем конфигурации в виде алиасов:

В файле .bashrc или .zshrc можно задать алиасы для каждого окружения. Но чтобы сделать это более динамично, можно создать отдельный файл с конфигурациями, который будет подгружаться в зависимости от выбранного окружения.

# В .bashrc
alias setenv='source ~/.env_switcher'

# ~/.env_switcher
function switch_env() {
    case "$1" in
        dev)
            export DB_HOST="dev.db.local"
            export API_URL="https://dev.api.local"
            echo "Switched to DEV environment"
            ;;
        staging)
            export DB_HOST="staging.db.local"
            export API_URL="https://staging.api.local"
            echo "Switched to STAGING environment"
            ;;
        prod)
            export DB_HOST="prod.db.local"
            export API_URL="https://prod.api.local"
            echo "Switched to PROD environment"
            ;;
        *)
            echo "Unknown environment: $1"
            ;;
    esac
}

alias dev='switch_env dev'
alias staging='switch_env staging'
alias prod='switch_env prod'

👨‍💻 2. Использование:

Теперь, чтобы переключиться на нужное окружение, достаточно одной команды:

$ dev
Switched to DEV environment

$ staging
Switched to STAGING environment

ℹ️ Почему это полезно?

  • - Удобство: нет необходимости каждый раз редактировать переменные окружения вручную или запоминать, какой сервер и переменные использовать для разных окружений.
  • - Меньше ошибок: неправильное окружение может привести к проблемам в продакшене. С такой настройкой легко контролировать, где и что запускается.
  • - Гибкость: добавление новых окружений занимает считанные секунды — просто расширьте функцию switch_env.

✳️ Этот метод отлично подходит для разработчиков и DevOps-специалистов, которые часто работают с разными инфраструктурами и хотят сократить время на переключение между ними.

tags: #полезно #linux #bash

🧭 @recura_tech

Снимок экрана терминала с кодом .bashrc и файлом ~/.env_switcher: функция switch_env и алиасы dev/staging/prod на фоне фиолетового градиента
Скриншот терминала с кодом для переключения окружений через alias.

Читайте так же