String 在Jenkinsfile中,双引号从作为参数传递给sh的字符串中删除
指定String 在Jenkinsfile中,双引号从作为参数传递给sh的字符串中删除,string,bash,jenkins,escaping,jenkins-pipeline,String,Bash,Jenkins,Escaping,Jenkins Pipeline,指定 sh "bash -c \"echo Hello world\"" 在Jenkinsfile中的声明性管道中 bash -c echo Hello world 正在执行。我希望字符串中双引号的转义被解析为双引号,如下所示 bash -c "echo Hello world" 现在,引号被简单地删除了,这是非常意外的,如果不是错误的话。我想了解正在发生的事情,并最终向詹金斯开发人员提出建议和改进 这可能是另一种情况,但我似乎找不到匹配的一个。您是否尝试过使用单引号: sh "bash
sh "bash -c \"echo Hello world\""
在Jenkinsfile
中的声明性管道中
bash -c echo Hello world
正在执行。我希望字符串中双引号的转义被解析为双引号,如下所示
bash -c "echo Hello world"
现在,引号被简单地删除了,这是非常意外的,如果不是错误的话。我想了解正在发生的事情,并最终向詹金斯开发人员提出建议和改进
这可能是另一种情况,但我似乎找不到匹配的一个。您是否尝试过使用单引号:
sh "bash -c 'echo Hello world'"
另一个选择是
sh """bash -c "echo Hello world" """
这允许您在命令中保留需要插值的情况的双引号