Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 在流浪机器中设置路径_Shell_Path_Vagrant - Fatal编程技术网

Shell 在流浪机器中设置路径

Shell 在流浪机器中设置路径,shell,path,vagrant,Shell,Path,Vagrant,我有一个文件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" 但是当机器启动时

我有一个文件
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"
但是当机器启动时,我尝试(例如):

它显示空白


如何将新添加的路径导出包括在Vagrant中?

将以下行添加到
setup.sh
文件中:

echo "source /vagrant/scripts/export.sh" >> /home/vagrant/.bashrc
这将确保每次ssh到机器中时都加载导出,这是您想要做的


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

让我尝试一下。运气不好vagrant@precise32:~$echo$PATH/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/vagrant\u ruby/binvagrant@precise32:~$cat.bashrc | grep source#sources/etc/bash.bashrc)。source/vagrant/scripts/export.shvagrant@precise32:~$cat/vagrant/scripts/export.sh export JAVA_HOME=/opt/hadoop/jdk1.7.0_51 export PATH=$JAVA_HOME/bin:$PATHvagrant@precise32:~$是我为虚拟机导出的方式。@HansKristian您的链接不再有效。
echo "source /vagrant/scripts/export.sh" >> /home/vagrant/.bashrc