- hosts: localhost tasks:
- name: fact command set_fact: fact_command: echo "ps -ef|grep data"|sed 's~[^[:alnum:]/]\+~~g'|sed "s/$/$(date +"%d_%m_%Y_%H_%M_%S")/" - name: run command shell: "{{ fact_command }}" ansible-playbook test.yml -v Using /etc/ansible/ansible.cfg as config file [WARNING]: provided hosts list is empty, only localhost is available PLAY *************************************************************************** TASK [setup] ******************************************************************* ok: [localhost] TASK [fact command] ************************************************************ ok: [localhost] => {"ansible_facts": {"fact_command": "echo \"ps -ef|grep data\"|sed 's~[^[:alnum:]/]\\+~~g'|sed \"s/$/$(date +\"%d_%m_%Y_%H_%M_%S\")/\""}, "changed": false} TASK [run command] ************************************************************* changed: [localhost] => {"changed": true, "cmd": "echo \"ps -ef|grep data\"|sed 's~[^[:alnum:]/]\\+~~g'|sed \"s/$/$(date +\"%d_%m_%Y_%H_%M_%S\")/\"", "delta": "0:00:00.002489", "end": "2018-04-16 00:47:44.957419", "rc": 0, "start": "2018-04-16 00:47:44.954930", "stderr": "", "stdout": "psefgrepdata16_04_2018_00_47_44", "stdout_lines": [ "psefgrepdata16_04_2018_00_47_44"], "warnings": []} PLAY RECAP ********************************************************************* localhost : ok=3 changed=1 unreachable=0 failed=0 On Monday, April 9, 2018 at 8:41:02 AM UTC+2, Akash Agarwal wrote: > > Hi All, > > I need to execute complex shell commands on remote or local hosts. What is > the best way to this? > > I tried multiple ways. Either it is not passing Ansible syntax, or shell > script syntax > > Example: > > Suppose I want to execute this command > > echo "ps -ef|grep data"|sed 's~[^[:alnum:]/]\+~~g'|sed "s/$/$(date > +"%d_%m_%Y_%H_%M_%S")/" > > It gives following output on shell : > psefgrepdata09_04_2018_12_08_55 > > But somehow I am not able to execute. Urgent help please ? > > Thanks, > Akash > -- You received this message because you are subscribed to the Google Groups "Ansible Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-devel+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.