我having problems使用Vagrant使用的shell配置脚本,因为它没有执行source /home/vagrant/.bashrc
。我把问题减少到了......
在我的虚拟机中,我有/home/vagrant/testfile
的文件,其中包含以下内容:
echo "In testfile"
在/home/vagrant/.bashrc
结尾处,我有这个:
echo "In .bashrc"
这两个文件都归vagrant
用户所有。
在我的一个Vagrant配置shell脚本中,我有这个:
echo "Hello"
source /home/vagrant/testfile
source /home/vagrant/.bashrc
echo "Goodbye"
运行vagrant provision
即可:
Hello
In testfile
Goodbye
当我执行vagrant ssh
时,/home/vagrant/.bashrc
照常运行,我会自动看到:
In .bashrc
那么为什么source /home/vagrant/.bashrc
在我的配置脚本中没有效果呢?
答案 0 :(得分:10)
您需要从[ -z "$PS1" ] && return
的顶部删除“如果未以交互方式运行”位(例如.bashrc
)。