将参数传递给 ssh 用户@服务器 bash --login -c FILE.rb PARAMS

将参数传递给 ssh 用户@服务器 bash --login -c FILE.rb PARAMS

我需要在远程服务器上通过 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\""

如果它不起作用,请$1echo调用之前验证您需要的所有参数是否确实在变量中ssh

最小工作示例:

param="--version";
ssh user@server "bash --login -c \"git $param\""

答案2

-c仅接受一个参数,因此需要更多引用:

ssh user@server bash --login -c "FILE.rb $1"

相关内容