0

我想自动将 perlbrew 安装到 vagrant box 中。我使用 .sh 文件来完成此操作。

提供.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

将返回

/home/vagrant/perl5/perlbrew/bin/perlbrew

但不幸的是,它什么也没返回。

4

1 回答 1

1

您的命令应用的设置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并应用设置。

于 2016-08-27T12:12:10.093 回答