2017-10-27 2 views
0

私は/ etc/passwdのUIDをチェックし、特定のUIDをgrepsにチェックし、その結果を自分のPCに戻すファイルに報告するスクリプトを使用しています。期待どおりに動作しますが、私はそれを微調整しようとしています。ここで私はこれまで持っているものである:ここではUIDSをチェックする可能性

- name: Checking to Make Sure the UIDS are safe for foo Users 
     shell: cat /etc/passwd | awk -F ':' '{print $3}' | grep 150[0-1] 
     register: foo 

    - local_action: copy content={{ ansible_hostname.split('\n') }};{{ foo.stdout }} dest=/Users/blah/playbooks/roles/check_user_uids/files/foo_stdout.log 

は、私は、ログファイルで見るものです:

[u'server-one'];1500 
1501 

私が本当に希望するような何かを行うことです。

[u'server-one'] 1500 
[u'server-one'] 1501 

を誰かが私にJinJaのテンプレートを使ってこれを行う方法の例を教えてもらえますか、これがlocal_actionモジュールでできるかどうかアドバイスしてもらえますか?

答えて

1

http://docs.ansible.com/ansible/latest/common_return_values.html#stdout-lines

あなたは変数fooをデバッグする場合は、あなたの出力のリストを含む戻り値foo.stdout_linesがあることがわかります。あなたは現在のタスクでそれを反復することができます。

- local_action: copy content={{ ansible_hostname.split('\n') }};{{ item }} dest=/Users/blah/playbooks/roles/check_user_uids/files/foo_stdout.log 
    with_items: "{{ foo.stdout_lines }}" 

また、テンプレートモジュールでその戻り値を使用して同じことを達成できます。詳細については、AnabilitiesとJinjaのドキュメントをご覧ください。

http://docs.ansible.com/ansible/latest/playbooks_templating.html http://jinja.pocoo.org/docs/2.9/templates/

+0

これは、私はそれになりたい場所にかなり近く、私のために十分な、それが読みやすくなります。ありがとう:-) – ryekayo

関連する問題