Я ищу способ (желательно кросс-платформенный, совместимый) для установки чего-то глобально доступного из сценария bash.
Моя компания использует сценарий bash для запроса учетных данных доступа к mysql база данных. Это возвращает имя пользователя, пароль и домен базы данных, которые мне приходится копировать вставить в моем терминале, чтобы запустить и подключиться к нашему mysql db.
Я думал, что я исправлю скрипт, чтобы установить переменные среды и сделать Использование их в псевдониме с учетными данными, установленными в моем bashr c, но оказывается, что вы не можете установить переменные окружения в bash сценарии.
Поэтому я попытался установить псевдоним mysql с пароль пользователя и домен предварительно заполнены в том же скрипте, но с той же проблемой. Невозможно установить псевдоним в сценарии bash.
Я по сути хочу иметь возможность запустить сценарий, который дает мне учетные данные, а затем не нужно выполнять ручное копирование копии везде.
Я попытался (если это даст больше контекста):
#!/bin/bash
# Script gets the credentials
# Script now has username, password, endpoint variables
export MYSQL_USER=$username
export MYSQL_PASSWORD=$password
export MYSQL_ENDPOINT=$endpoint
# Script finishes
и в моем bashr c:
alias mysqlenv="mysql -h $MYSQL_ENDPOINT -u $MYSQL_USER -p'$MYSQL_PASSWORD'"
Я понимаю, что это не работает, и что Возможно, это не лучшее решение, поэтому я открыт для других возможностей.
PS: забыл упомянуть, что срок действия учетных данных истекает каждые 24 часа, поэтому я хочу сгладить процесс
PS2: я могу не получайте сценарий, который дает мне учетные данные, потому что он не просто экспортирует переменные среды, он берет параметры из Cli и заставляет меня войти в систему моей компании в моем браузере и т. д. c.
PS3 Я знаю, что ввод пароля для mysql в командной строке - плохая практика, но это не проблема, так как этот пароль печатается там в первую очередь скриптом, который дает мне учетные данные (написанные кем-то еще в компания)