Docker 如果命令中包含一个“"-&引用;?

Docker 如果命令中包含一个“"-&引用;?,docker,shell,jenkins,double-quotes,Docker,Shell,Jenkins,Double Quotes,目前,我正试图使用Jenkinsfile中的sh运行以下命令 sh "docker run -e key1=${value1} -e key2=\\'run-cli --users ${USERS} --names ${NAMES}\\' -i -t --network host ${DOCKER_HOST}/path/image:tag" 但是,每次使用未知标志--users时失败。docker似乎并没有将其视为一个env变量,而是将其作为其命令的一部分进行读取。我尝试了

目前,我正试图使用Jenkinsfile中的
sh
运行以下命令

sh "docker run -e key1=${value1} -e key2=\\'run-cli --users ${USERS} --names ${NAMES}\\' -i -t --network host ${DOCKER_HOST}/path/image:tag"

但是,每次使用
未知标志--users
时失败。docker似乎并没有将其视为一个env变量,而是将其作为其命令的一部分进行读取。我尝试了引用和转义序列的所有可能组合,但都不起作用。当直接在控制台中运行时,它运行得非常好,但在jenkins中运行时失败。有什么解决办法可以让它工作吗?

你可以使用我给出的答案

其想法是使用:

sh ("""
docker run -e key1=${value1} -e key2="run-cli --users ${USERS} --names ${NAMES" -i -t --network host ${DOCKER_HOST}/path/image:tag
""")