(使用 SSH 运行命令时出错)命令行:第 0 行:配置选项错误

hel*_*eer 5 bash jenkins

错误消息:

命令行:第 0 行:错误的配置选项:

sh '''ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no -o centos@xxxx.net "sudo su -c "sh ./home/centos/releases/xx.sh" rundeck"'''
Run Code Online (Sandbox Code Playgroud)

Broken Down 命令(我只是为了您的方便而制作了上述命令)

sh '''ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no 
      -o centos@xxxx.net "sudo su -c "sh ./home/centos/releases/xx.sh" servc"'''
Run Code Online (Sandbox Code Playgroud)

我试图

  1. ssh 进入服务器
  2. 将用户更改为“servc”
  3. 执行 xx.sh shell

我认为有一个语法错误"sudo su -c "sh ./home/centos/releases/xx.sh" servc"

你有什么线索吗?:D

Pau*_*ce. 3

您不能将双引号字符串嵌套在另一个字符串中而不转义内部字符串。

尝试这个:

sh '''ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no -o centos@xxxx.net "sudo su -c \"sh ./home/centos/releases/xx.sh\" rundeck"'''
Run Code Online (Sandbox Code Playgroud)