如何在包含特殊字符的ansible中执行shell命令
如何在ansible中使用特殊字符执行shell命令如何在包含特殊字符的ansible中执行shell命令,ansible,Ansible,如何在ansible中使用特殊字符执行shell命令 --- - name: Displaying the ORACLE_HOME hosts: "{{ hostname }}" tasks: - name: shell: echo $ORACLE_HOME 我想要echo$ORACLE_HOME的输出,您需要这样写: --- - name: Displaying the ORACLE_HOME hosts: "{{ hostname }}" tas
---
- name: Displaying the ORACLE_HOME
hosts: "{{ hostname }}"
tasks:
- name:
shell: echo $ORACLE_HOME
我想要echo$ORACLE_HOME的输出,您需要这样写:
---
- name: Displaying the ORACLE_HOME
hosts: "{{ hostname }}"
tasks:
- name:
shell: echo $ORACLE_HOME
register: var
- debug: msg="{{ var }}"
或
您可以在代码中使用注册变量var.stdout
根据您的评论,使用以下命令在playbook中使用shell变量:
shell: source <Absolute-Path>/.bash_profile && echo $ORACLE_HOME
shell:source/.bash\u profile&&echo$ORACLE\u HOME
您遇到了哪些错误?你确切的剧本对我来说是有效的,我只是在检查“echo$SHELL”,它给了我输出。@Pacifist_AWS,我在这方面没有任何错误。但是输出我也无法获取您将无法在ansible中从这样的命令中获取任何输出,除非您在详细(-vvv
)模式下运行任务结果和它,或者运行ansible playbook
。@Zeitounator,在注册输出之前,我仍然无法获取输出我没有从该命令中获得任何输出。它与下划线的特殊字符冲突。你能告诉我如何克服它吗help@Raghu更新了答案。请检查它是否有效。我还有一个问题@Pacifist\u AWS。你能给我一个解决办法吗?@Raghu我可以试试。@Raghu没问题。如果你觉得,接受这个解决方案是一个有效的答案,因为它有助于其他人依赖这个解决方案。