shell - 在 groovy jenkins 管道中转义 shell 字符
问题描述
我有一些问题要在我的詹金斯管道中转义引号字符。例如 :
我想使用以下命令通过管道将文本附加到文件中:
openshift.rsh("${podname}", """sh -c 'echo "define( 'WP_HOME', 'http://rabah-test.com' );" >> wp-config.php'""")
并期望将其放入 wp-config.php 文件中:
define( 'WP_HOME', 'http://rabah-test.com' );
但不幸的是,我的结果中没有引号:
define( WP_HOME, http://rabah-test.com );
解决方案
我相信这不是詹金斯的问题。首先尝试在终端中运行您的命令。您的 sh 命令有一个简单的引号,并且在定义内有一个简单的引号。
我会尝试类似的东西
sh -c 'echo "define( \'WP_HOME\', \'http://rabah-test.com\' );" >> wp-config.php'
请注意,我不会将定义添加到 wp-config.php 文件中,而是尝试将默认 WP_HOME 版本化并用 sed 替换它
推荐阅读
- javascript - Javascript中的按位枚举给定一个整数
- angular5 - ng-bootstrap typeahead 确定选择
- curl - 使用 Ansible uri 模块的 API 调用
- php - 在 Woocommerce 中使用动态数据自定义电子邮件主题
- python - Python 常规 exp 以阻止贪婪超出一行
- node.js - 在谷歌云 sql nodejs 上定义 Sequelize
- python - 使用漂亮的 Soup 从 HTML 中抓取多个数据标签
- apache-spark - 如何在spark sql中查询不存在的列
- scala - How can I create a mapping function for 1000 elements in scala
- sorting - Lodash sortedby 对象列表卡在 _wrapper_ 中