我在EC2实例上使用terraform运行脚本,如下所示:
provisioner "remote-exec" {
inline = [
"bash /path/to/myscript.sh
]
}
我在此实例的.bashrc中定义了一些环境变量,我希望此脚本可以访问。但是,在我放入的脚本中,
source ~/.bashrc
作为第一行,但.bashrc中定义的变量仍未设置。
成功获取.bashrc需要做什么?
答案 0 :(得分:1)
很多时候,~/.bashrc
会检查以确保设置仅应用于交互式环境。默认情况下,Ubuntu中至少存在此检查。
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
在脚本中,您不会设置PS1
。
因此,请从~/.bashrc
;
或像这样来源脚本:
PS1=non-empty source ~/.bashrc