为什么`source / home / vagrant / .bashrc`无法在Vagrant shell配置脚本中运行?

时间:2015-04-14 13:28:17

标签: shell vagrant

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在我的配置脚本中没有效果呢?

1 个答案:

答案 0 :(得分:10)

您需要从[ -z "$PS1" ] && return的顶部删除“如果未以交互方式运行”位(例如.bashrc)。