在Vagrant虚拟机中设置路径

3

我有一个文件export.sh,其内容如下:

export JAVA_HOME="/opt/hadoop/jdk1.7.0_51"
export PATH=$JAVA_HOME/bin:$PATH

我有另一个shell脚本(setup.sh),我在其中引用export.sh

source /vagrant/export.sh

setup.sh在系统配置过程中被调用:

master.vm.provision :shell, path: "scripts/setup.sh"

但是当机器启动并尝试执行以下命令时(例如):

which java

显示为空白...

我该如何在Vagrant中包含新添加的路径导出?

1个回答

2
请将以下行添加到您的 setup.sh 文件中:
echo "source /vagrant/scripts/export.sh" >> /home/vagrant/.bashrc

这将确保每次通过ssh登录到机器时都加载导出内容,这是您想要做的。

假设您的setup.sh位于虚拟机上的/vagrant/scripts目录中。


让我试一次。 - user2230605
vagrant@precise32:$ echo $PATH /bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/vagrant_ruby/bin vagrant@precise32:$ cat .bashrc | grep source

sources /etc/bash.bashrc).

source /vagrant/scripts/export.sh vagrant@precise32:$ cat /vagrant/scripts/export.sh export JAVA_HOME=/opt/hadoop/jdk1.7.0_51 export PATH=$JAVA_HOME/bin:$PATH vagrant@precise32:$
- user2230605
这个 Vagrantfile 是我对虚拟机导出的方式。 - Hans Kristian
@HansKristian,你的链接已经失效了。 - Asalle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接