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

时间:2019-06-05 18:54:12

标签: 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"'''

分解命令(为方便起见,我刚刚执行了上述命令)

sh '''ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no 
      -o centos@xxxx.net "sudo su -c "sh ./home/centos/releases/xx.sh" servc"'''

我正在尝试

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

我认为"sudo su -c "sh ./home/centos/releases/xx.sh" servc"上存在语法错误

您有什么线索吗? :D

1 个答案:

答案 0 :(得分:1)

您不能在不将内部双引号转义的情况下将双引号内的字符串嵌套。

尝试一下:

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