我使用 Ansible附加了变量/etc/bash.bashrc和变量。$HOME/.bashrc
Ansible 完成后,这两个文件如下所示。
在/etc/bash.bashrc:
...
export VAR1="some text comes here"
...
在$HOME/.bashrc:
...
export VAR2="other text comes here"
...
因此,Ansible 完美地完成了它的工作。
Vagrantfile 中的 shell 脚本,在 Ansible 完成后运行:
$init = <<-SCRIPT
whoami
echo $HOME
cat /etc/bash.bashrc
cat $HOME/.bashrc
source /etc/bash.bashrc
source $HOME/.bashrc
echo "VAR1 :: $VAR1"
echo "VAR2 :: $VAR2"
SCRIPT
config.vm.provision :init, type: :shell, inline: $init, privileged: false
即使在两个文件中设置了这两个变量,然后两个文件都是源,输出是:
vagrant
/home/vagrant
---> /etc/bash.bashrc contains the export
---> $HOME/.bashrc contains the export as well
VAR1 ::
VAR2 ::
正如我们所见,这两个变量未设置并提供空字符串。
我试过了$HOME/.profile,但结果相同。
你知道如何进行吗?