通过 vagrant 安装 Perlbrew provision.sh
Perlbrew installation through vagrant provision.sh
我想自动将 perlbrew 安装到 vagrant box 中。我使用 .sh 文件来完成这个。
provision.sh
apt-get update
sudo -H -u vagrant bash -c " \curl -kL https://install.perlbrew.pl | bash"
sudo -u vagrant bash -c "source ~/perl5/perlbrew/etc/bashrc"
在 ssh 进入 vagrant 后,我希望
$ which perlbrew
将return
/home/vagrant/perl5/perlbrew/bin/perlbrew
但不幸的是它return没什么。
您的 source ~/perl5/perlbrew/etc/bashrc
命令应用的设置不可能在另一个 bash 会话中可见(并且 SSH 会话执行新的 bash 进程)。
您需要将命令 source ~/perl5/perlbrew/etc/bashrc
添加到 bash "rc" 文件之一。
对于单个用户使用以下命令:
echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc
对于所有使用以下命令的用户:
echo "source ~/perl5/perlbrew/etc/bashrc" >> /etc/bash.bashrc
这样每次启动新的 bash 会话时,它都会 运行 source ~/perl5/perlbrew/etc/bashrc
并应用设置。
我想自动将 perlbrew 安装到 vagrant box 中。我使用 .sh 文件来完成这个。
provision.sh
apt-get update
sudo -H -u vagrant bash -c " \curl -kL https://install.perlbrew.pl | bash"
sudo -u vagrant bash -c "source ~/perl5/perlbrew/etc/bashrc"
在 ssh 进入 vagrant 后,我希望
$ which perlbrew
将return
/home/vagrant/perl5/perlbrew/bin/perlbrew
但不幸的是它return没什么。
您的 source ~/perl5/perlbrew/etc/bashrc
命令应用的设置不可能在另一个 bash 会话中可见(并且 SSH 会话执行新的 bash 进程)。
您需要将命令 source ~/perl5/perlbrew/etc/bashrc
添加到 bash "rc" 文件之一。
对于单个用户使用以下命令:
echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc
对于所有使用以下命令的用户:
echo "source ~/perl5/perlbrew/etc/bashrc" >> /etc/bash.bashrc
这样每次启动新的 bash 会话时,它都会 运行 source ~/perl5/perlbrew/etc/bashrc
并应用设置。