Ruby Net / SSH - 重新加载bash_profile

时间:2013-05-25 15:46:41

标签: ruby bash net-ssh

我正在使用Ruby MRI 1.8.7,我有一个Net-SSH脚本连接到服务器并编辑.bash_profile文件。 基本上添加了一些别名快捷方式。 .bash_profile内容示例:

alias test="echo 'test'"

现在,在通过源.bash_profile重新加载之前,我无法使用这些别名。 问题是我似乎无法通过Net-SSH获取.bash_profile。 这是我到目前为止所尝试的:

ssh.exec!("source .bash_profile")
ssh.exec!("source /root/.bash_profile")
ssh.exec!("bash -c 'source ~/.bash_profile'")

现在,实际上我甚至不需要Net-SSH中的别名,但我至少不想在服务器上手动获取bash_profile。 这里有什么问题,是否有任何解决方案?

2 个答案:

答案 0 :(得分:0)

你不能在bash的双引号字符串中使用bang(!)。试试这个: alias test='echo ''test!'''

答案 1 :(得分:0)

source $HOME/.bash_profile

第一行 .bashrc