我正在尝试创建一个小的shell脚本,它将首先通过rsync部署Rails应用程序,然后通过ssh远程运行bundle命令。我的shell脚本如下所示:
#!/bin/bash
REMOTE_SERVER="myserver.com"
REMOTE_USER="me"
REMOTE_PATH="/home/me/"
BUNDLE_PATH="/usr/local/rvm/gems/ruby-2.0.0-p353/bin/bundle"
# Step 1: Rsync
rsync -ave ssh --exclude-from '.ignore' ./ $REMOTE_USER@$REMOTE_SERVER:$REMOTE_PATH
# Step 2: Bundle
ssh $REMOTE_USER@$REMOTE_SERVER "cd $REMOTE_PATH && $BUNDLE_PATH install"
Rsync工作正常但是当涉及RVM时,捆绑线会引发以下错误:
/usr/bin/env: ruby_executable_hooks: No such file or directory
所以,我想知道...... 是否可以将捆绑包(以及rake等其他命令)作为单个ssh命令的一部分运行?
如果重要,远程服务器正在运行Ubuntu 14。