当我在我的剧本中发出这样的psql
命令时:
- name: Run psql to pull in initial config data
become_method: sudo
become: yes
become_user: postgres
command: psql -U postgres -w eclaim < /opt/eclaim_revamp/sql_scripts/initial_config.sql
需要永远完成,看起来好像挂起,但当我使用shell
时,它可以通过:
- name: Run psql to pull in initial data
become_method: sudo
become: yes
become_user: postgres
shell: psql -U postgres -w eclaim < /opt/eclaim_revamp/sql_scripts/initial_sql_script.sql
有人可以告诉我为什么吗?
答案 0 :(得分:2)
[给定的命令]不会通过shell处理,因此变量如$ HOME和&#34;&lt;&#34;,&#34;&gt;&#34;,&#34;等操作|&#34;和&#34;&amp;&#34;不起作用(如果你需要这些功能,请使用shell模块)。