2017-10-06 2 views
1

以下のコマンドタスクを複数行にわたってフォーマットしようとしています。長い複数の行にわたって長いコマンド可能なコマンドモジュールタスクをフォーマットするには?

tasks: 
    ... 
    - name: Run the python file 
     command: "{{ lookup('env','HOME') }}/bin/pythonfile.py \"{{ cmd_status.stdout }}\" {{ test_number }}" 

フォーマットなしで動作します。 pythonfileが正しく実行されます。

tasks: 
    ... 
    - name: Run the python file 
     command: > 
     "{{ lookup('env','HOME') }}/bin/pythonfile.py \"{{ cmd_status.stdout }}\" {{ test_number }}" 

、それが得られます:私は >でフォーマットしようとした

"MSG": "[ERRNO 2]、そのようなファイルやディレクトリはありません"、

Debug: 
"invocation": { 
    "module_args": { 
     "_raw_params": "\"/home/bin/pythonfile.py 

任意の提案コマンドラインを複数の行にフォーマットします。そうでない場合(スペースと引数を含む)文字列全体がデバッグ呼び出し文字列で行全体を囲む(予告\"を実行するために実行可能ファイルの名前であると考えられて

command: > 
    {{ lookup('env','HOME') }}/bin/pythonfile.py "{{ cmd_status.stdout }}" {{ test_number }} 

+0

問題は '-vvv'の結果ではまだ見えますが、値は取り除かれます。分かりやすくするために、 '_raw_params'全体を含める必要があります。 – techraf

答えて

1

単に周囲の引用符をドロップ)。

1行に書くと、getは最初に解釈され、YAMLパーサによって取り除かれます。

関連する問題