我需要在远程服务器上通过 ssh 运行 bash ruby 脚本:
# $1 - get params from local bash session
ssh user@server bash --login -c FILE.rb $1
FILE.rb 现在不再接收任何参数 bash --login 需要用于 ruby 加载(通过 RVM)
答案1
您可以尝试将整个命令括在引号中,以确保它不会被以下命令解释ssh
:
ssh user@server "bash --login -c \"FILE.rb $1\""
如果它不起作用,请$1
在echo
调用之前验证您需要的所有参数是否确实在变量中ssh
。
最小工作示例:
param="--version";
ssh user@server "bash --login -c \"git $param\""
答案2
-c
仅接受一个参数,因此需要更多引用:
ssh user@server bash --login -c "FILE.rb $1"