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

Phi*_*ord 9 shell vagrant

遇到了Vagrant使用的shell配置脚本的问题,因为它没有执行source /home/vagrant/.bashrc.我把问题减少到了这个......

在我的VM中,我有一个文件/home/vagrant/testfile包含:

echo "In testfile"
Run Code Online (Sandbox Code Playgroud)

最后/home/vagrant/.bashrc我有这个:

echo "In .bashrc"
Run Code Online (Sandbox Code Playgroud)

这两个文件都归vagrant用户所有.

在我的一个Vagrant配置shell脚本中,我有:

echo "Hello"
source /home/vagrant/testfile
source /home/vagrant/.bashrc
echo "Goodbye"
Run Code Online (Sandbox Code Playgroud)

跑步vagrant provision给出了这个:

Hello
In testfile
Goodbye
Run Code Online (Sandbox Code Playgroud)

当我这样做vagrant ssh然后/home/vagrant/.bashrc像往常一样运行,我自动看到:

In .bashrc
Run Code Online (Sandbox Code Playgroud)

那么为什么source /home/vagrant/.bashrc在我的配置脚本中没有效果呢?

Tom*_*art 11

您需要[ -z "$PS1" ] && return从您的顶部删除"退出,如果没有以交互方式运行"位(例如).bashrc.