我想通过使用我的puppet config.yaml
或Vagrant
文件(或其他一些我不知道的VM外部机制)为我的VM的$ PATH环境变量添加一条额外的路径。
这可能吗?如果是这样,怎么样?
答案 0 :(得分:0)
在Vagrant中,您可以轻松地使用shell script来提供内容。首先,创建一个脚本(在与Vagrantfile相同的文件夹中),为$PATH
添加其他路径。例如,使用以下内容创建名为bootstrap.sh
的文件:
export PATH=$PATH:/foo/bar
# Or if you want it for all users :
echo 'PATH=$PATH:/foo/bar' >> /etc/profile
然后在Vagrantfile
中,添加此行以在启动VM时执行此脚本:
config.vm.provision :shell, path: "bootstrap.sh"
答案 1 :(得分:0)
这种方法在那里,但如果由于某种原因你在Vagrant盒子上重新运行配置,那么每次运行配置时,你最终都会在那里找到其中一条线路。为了避免这种情况:
grep -s -E "PATH=\$PATH:/foo/bar" /etc/profile || echo 'PATH=\$PATH:/foo/bar' >> /etc/profile
我对Chef知之甚少,但Salt在这些文件中创建托管部分并在其自身处理它方面做得很好。如果厨师不做同样的事情,我会感到惊讶。