擅长:python、mysql、java
<p>缺少传递命令行参数。见<a href="https://docs.python.org/3.5/library/sys.html#sys.argv" rel="nofollow noreferrer">sys.argv</a>。剩下的代码没问题。在</p>
<pre><code>from sys import argv
import subprocess
[...]
def main():
script, hostname, user = argv
sample(hostname, user)
[...]
</code></pre>
<hr/>
<p>注释</p>
<p>1)为了测试剧本,额外的参数应该是<em><code>ansible_user</code></em></p>
^{pr2}$
<p>2)对于<code>sample("hostname,", "user")</code>,剧本始终以<code>"hostname"</code>作为<code>"user"</code>运行</p>
<p>3)可以用<code>-l</code>代替<code>-i</code>,避免昏迷</p>
<pre><code>$ ansible-playbook sample.yml -l "hostname" -e "ansible_user=user"
</code></pre>
<p>4)看看<a href="https://ansible-runner.readthedocs.io/en/latest/" rel="nofollow noreferrer">Ansible Runner</a>。在</p>