来自terraform脚本的.bashrc中的环境变量未被加载

时间:2016-10-06 05:06:24

标签: linux bash terraform

我在EC2实例上使用terraform运行脚本,如下所示:

provisioner "remote-exec" {
  inline = [
    "bash /path/to/myscript.sh
  ]
}

我在此实例的.bashrc中定义了一些环境变量,我希望此脚本可以访问。但是,在我放入的脚本中,

source ~/.bashrc

作为第一行,但.bashrc中定义的变量仍未设置。

成功获取.bashrc需要做什么?

1 个答案:

答案 0 :(得分:1)

很多时候,~/.bashrc会检查以确保设置仅应用于交互式环境。默认情况下,Ubuntu中至少存在此检查。

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

在脚本中,您不会设置PS1

因此,请从~/.bashrc;

中删除/评论该行

或像这样来源脚本:

PS1=non-empty source ~/.bashrc