2017-05-28 12 views
2

シェルモジュールの引用符でエスケープするには? 次のように私が試した:可能性:エスケープ引用符とリスティングユーザーのパスワード有効期限情報

- name: UList 
    shell: "cut -f 1 -d: /etc/passwd | sudo xargs -n 1 -I {} bash -c \" echo {} ; chage -l {}\"" 

- name: UList 
    shell: "cut -f 1 -d: /etc/passwd | sudo xargs -n 1 -I {} bash -c \' echo {} ; chage -l {}\'" 

間違いでしょうか?

+0

を使用することができることのために期待されている出力の場合、あなたが達成しようと何を教えてもらえます上記のコマンドで? –

+0

システムのすべてのユーザーをユーザー名とパスワードの有効期限情報とともにリストしたいとします。 – kurgulus

+0

解決済み。ありがとうございました。 – kurgulus

答えて

1

このプレイブックは私のために働いた、これもあなたに役立つことを願っています。あなたは"引用

どちらかをエスケープする問題を持っている場合は、この方法

'cut -f 1 -d: /etc/passwd | sudo xargs -n 1 -I {} bash -c " echo {} ; chage -l {}"' それとも

"cut -f 1 -d: /etc/passwd | sudo xargs -n 1 -I {} bash -c ' echo {} ; chage -l {}'"

はどちらも、私はそれをテストしている作業している、それを行うコマンドの単一引用符'を使用することができます。

--- 
- name: Set my hosts variable 
    hosts: localhost 
    tasks: 
    - name: UList 
    shell: 'cut -f 1 -d: /etc/passwd | sudo xargs -n 1 -I {} bash -c " echo {} ; chage -l {}"' 
    register: result 
    - name: debug 
    debug: 
    msg: "{{result}}" 

それとも

あなたが

awk -F':' '{ system("echo " $1 " && chage -l " $1) }' /etc/passwd

Command explanation

--- 
- name: Set my hosts variable 
    hosts: localhost 
    tasks: 
    - name: UList 
    shell: "awk -F':' '{ system(\"echo \" $1 \" && chage -l \" $1) }' /etc/passwd" 
    register: result 
    - name: debug 
    debug: 
    msg: "{{result}}" 
+0

@kurgulusようこそ... :) –

関連する問題