在我的管道脚本中,我想执行以下sh
命令,包括带有特殊字符的密码(例如123 $ ABC):
withCredentials([sshUserPrivateKey(credentialsId: 'id', keyFileVariable: 'keyFile', passphraseVariable: '', usernameVariable: 'user')]) {
sh "ssh -i $keyFile ${user}@${virtualMachine} -C \"CONTAINER_NAME=${dockerContainerName} DOCKER_TAG=${dockerImageTag} JASYPT_MASTER_PASSWORD='${JASYPT_MASTER_PW}' docker-compose -f /tmp/docker-compose-jenkins.yml up\""
}
该命令如何看起来像要获取密码中的特殊字符?
答案 0 :(得分:0)
我有同样的问题,可能的解决方案是对password变量进行解码,例如:
def encodedPassword = URLEncoder.encode("$JASYPT_MASTER_PW",'UTF-8')
,然后使用 encodedPassword 变量代替 JASYPT_MASTER_PW
让我们尝试