2016-08-27 1 views
0

Je veux automatiser l'installation de perlbrew dans la boîte vagabonde. J'utilise le fichier .sh pour accomplir ceci.Installation en Perlbrew via VAGUAR provision.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" 

Après ssh dans le errante j'attendre à ce que

$ which perlbrew 

retournera

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

, mais malheureusement, il ne renvoie rien.

Répondre

1

Il est impossible que les paramètres appliqués par votre commande source ~/perl5/perlbrew/etc/bashrc soient visibles dans une autre session bash (et une session SSH exécute un nouveau processus bash).

Vous devez ajouter la commande source ~/perl5/perlbrew/etc/bashrc à l'un des fichiers bash "rc".

  • Pour un seul utilisateur avec la commande suivante:

    echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc 
    
  • Pour tous les utilisateurs avec la commande suivante:

    echo "source ~/perl5/perlbrew/etc/bashrc" >> /etc/bash.bashrc 
    

De cette façon, chaque fois qu'une nouvelle session bash est démarré, il exécutera source ~/perl5/perlbrew/etc/bashrc et appliquera les paramètres.