在bash脚本中设置环境或全局变量

时间:2020-04-22 18:58:04

标签: mysql linux bash

我正在寻找一种方法(最好是跨平台兼容的)来设置可从bash脚本全局访问的内容。

我的公司正在使用bash脚本来请求对mysql数据库的访问凭据。这将返回用户名,密码和db域,我最终不得不将其复制粘贴到我的终端中才能运行并连接到我们的mysql db。

我以为我会修改脚本来设置环境变量,并使用我的bashrc中设置的凭据在别名中使用这些变量,但事实证明您无法在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

在我的bashrc中:

alias mysqlenv="mysql -h $MYSQL_ENDPOINT -u $MYSQL_USER -p'$MYSQL_PASSWORD'"

我很欣赏这无法正常工作,并且可能不是最佳解决方案,因此我愿意接受其他选择。

PS:忘了凭据每24小时过期一次,这就是为什么我要简化流程

0 个答案:

没有答案