我正在寻找一种方法(最好是跨平台兼容的)来设置可从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小时过期一次,这就是为什么我要简化流程