Ansible调试变量输出具有破折号
我正在尝试运行下面的代码并能够获取将传递到 URL 的 SID,但不确定为什么当我尝试使用下面的代码获取 SID 值时它会添加破折号。我只需将值传递给 URL。
它基本上是关于如何将字典项转换为字符串,不知道该怎么做:|
- set_fact:
regexp1: '\"sid"\: \"([^"]+)'
- set_fact:
ssid: "{{ dict | selectattr('Details','contains',item) | to_nice_json | regex_search(regexp1,'\\1')}}"
- debug: msg="{{ssid}}"
输出
msg:
- 01234567899
sid: 01234567899
是我字典中的行。
它传递用单引号括在方括号中的 SID。
https://abc.service-now.com/api/now/table/sc_task/['01234567899']
我期待看到
https://abc.service-now.com/api/now/table/sc_task/01234567899
I am trying to run below code and able to get the SID which will be passed to the URL but not sure why it is adding dash when I try to get the SID value using below code. I need to pass just the value to the URL.
Its basically about how to convert the dictionary item to a string, not sure how to do :|
- set_fact:
regexp1: '\"sid"\: \"([^"]+)'
- set_fact:
ssid: "{{ dict | selectattr('Details','contains',item) | to_nice_json | regex_search(regexp1,'\\1')}}"
- debug: msg="{{ssid}}"
Output
msg:
- 01234567899
sid: 01234567899
is the line I have in my dict.
It is passing the SID enclosed in square brackets with single quotes.
https://abc.service-now.com/api/now/table/sc_task/['01234567899']
I am expecting to see
https://abc.service-now.com/api/now/table/sc_task/01234567899
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如评论中已经提到的,输出是一个列表,其中有一个元素从零 (
0
) 开始计数,这是一个单元素数组。为了更好地了解变量类型,您可以根据 管理数据类型 - 发现数据类型
type_debug
。为了进一步处理,您可以按
ssid[0]
之类的位置访问列表元素,或使用其他 模板 (Jinja2) 过滤器如join
将列表转换为细绳。进一步问答
As already mentioned in the comments, the output is a list with one element counted from zero (
0
), a single element array.To get a better insight into the variable type you may use according Managing data type - Discovering the data type
type_debug
.For further processing you may access the list element by position like
ssid[0]
or use an other Templating (Jinja2) filter likejoin
to convert the list to string.Further Q&A