J'utilise Ruby MRI 1.8.7 et j'ai un script Net-SSH qui se connecte à un serveur et édite le fichier .bash_profile. Fondamentalement, quelques raccourcis alias sont ajoutés. Exemple de contenu .bash_profile:Ruby Net/SSH - reload bash_profile
alias test="echo 'test'"
Maintenant, je ne peux pas utiliser ces alias jusqu'à ce que je recharge via .bash_profile source .. Le problème est qu'il semble que je ne peux pas la source .bash_profile via Net-SSH. C'est ce que je l'ai essayé jusqu'à présent:
ssh.exec!("source .bash_profile")
ssh.exec!("source /root/.bash_profile")
ssh.exec!("bash -c 'source ~/.bash_profile'")
Maintenant, en fait je ne même pas besoin de les alias Net-SSH, mais au moins je ne veux pas la source bash_profile manuellement sur le serveur. Quel est le problème ici, et y a-t-il des solutions à cela?
Avez-vous essayé d'exécuter une commande en ligne avec le 'source' pour voir ce qui se passe? (par exemple 'source ~/.bash_profile && test') – fny
oui cela fonctionne bien. impliquez-vous qu'il ne devrait pas y avoir quelque chose de différent avec la session Ruby/SSH? –
Je voulais dire que vous avez essayé d'exécuter cette commande via Ruby/SSH. Peut-être que le sourcing ne persiste pas entre les instructions 'ssh.exec!' – fny