Hi,

This if often because your ’shell’ script has the incorrect shebang at the top. 
If its a bash script then add executable: /bin/bash and try again, or check 
your script.

Cheers.



> On 21 Aug 2024, at 09:32, Yogita Patil <[email protected]> wrote:
> 
> Thanks for the responses guys, but these are the errors I see -
> 
> The full traceback is:
>   File 
> "/tmp/ansible_ansible.legacy.command_payload_uk3ys11b/ansible_ansible.legacy.command_payload.zip/ansible/module_utils/basic.py",
>  line 2050, in run_command
>     cmd = subprocess.Popen(args, **kwargs)
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__
>     self._execute_child(args, executable, preexec_fn, close_fds,
>   File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child
>     raise child_exception_type(errno_num, err_msg, err_filename)
> failed: [100.91.187.42] (item=./power_consumption.sh) => {
>     "ansible_loop_var": "item",
>     "changed": false,
>     "cmd": "./power_consumption.sh",
>     "invocation": {
>         "module_args": {
>             "_raw_params": "./power_consumption.sh",
>             "_uses_shell": false,
>             "argv": null,
>             "chdir": "/usr/src/",
>             "creates": null,
>             "executable": null,
>             "removes": null,
>             "stdin": null,
>             "stdin_add_newline": true,
>             "strip_empty_ends": true
>         }
>     },
>     "item": "./power_consumption.sh",
>     "msg": "[Errno 8] Exec format error: b'./power_consumption.sh'",
>     "rc": 8,
>     "stderr": "",
>     "stderr_lines": [],
>     "stdout": "",
>     "stdout_lines": []
> }
> 
> 
> I also create a simple foo.sh and tried to execute it like this, but here 
> also I get errors -
> foo.sh contents - 
> #!/bin/sh
> echo "Hello world"
> 
> My TestShell script yml looks like this -
> 
> - name: Shell script test
>   hosts: all
>   tasks:
> 
>      - name: Run a shell command and register its output as a variable
>        ansible.builtin.shell: /usr/src/foo.sh
>        register: foo_result
>        ignore_errors: true
> 
>      - name: Run a shell command using output of the previous task
>        ansible.builtin.shell: /usr/src/bar.sh
>        when: foo_result.rc == 5
> 
> 
> Output of the above yml gives this error - 
> 
> fatal: [132.56.197.46]: FAILED! => {
>     "changed": true,
>     "cmd": "/usr/src/foo.sh",
>     "delta": "0:00:00.002043",
>     "end": "2024-08-21 08:32:06.317505",
>     "invocation": {
>         "module_args": {
>             "_raw_params": "/usr/src/foo.sh",
>             "_uses_shell": true,
>             "argv": null,
>             "chdir": null,
>             "creates": null,
>             "executable": null,
>             "removes": null,
>             "stdin": null,
>             "stdin_add_newline": true,
>             "strip_empty_ends": true
>         }
>     },
>     "msg": "non-zero return code",
>     "rc": 127,
>     "start": "2024-08-21 08:32:06.315462",
>     "stderr": "/bin/sh: 1: /usr/src/foo.sh: not found",
>     "stderr_lines": [
>         "/bin/sh: 1: /usr/src/foo.sh: not found"
>     ],
>     "stdout": "",
>     "stdout_lines": []
> }
> 
> 
> On Mon, Aug 19, 2024 at 5:47 PM [email protected] <mailto:[email protected]> 
> <[email protected] <mailto:[email protected]>> wrote:
> 
> Create a var for script i.e.: script_path="/some/path/script" and use that 
> instead of hard coding path
> On Sunday, August 18, 2024 at 7:14:58 AM UTC-4 Yogita Patil wrote:
> Hi All,
> 
> I am simply unable to execute a shell script on the remote host - this is my 
> code (all other tasks run correctly except the execute task)
> 
> - name: Power consumption test
>   hosts: all
>   tasks:
> 
>      - name: Transfer the script
>        ansible.builtin.copy:
>          src: power_consumption.sh
>          dest: /usr/src/power_consumption.sh
>          mode: '0777'
> 
>      - name: Execute the script
> #       command: ./usr/src/power_consumption.sh
>        command: "{{ item }}"
>        args:
>          chdir: "/usr/src/"
>        with_items:
>         - "./power_consumption.sh"
>        ignore_errors: true
> 
>      - name: Remove shell script from remote server
>        file:
>          path: /usr/src/power_consumption.sh
>          state: absent
> 
>      - name: Copy shell script output from remote server
>        fetch:
>          src: /usr/src/{{ ansible_fqdn }}.txt
>          dest: /usr/src
>          mode: '0777'
>          with_fileglob:
>           _ "*.txt"
> 
> 
> I have also tried with the shell: , script: sh ways of executing the script 
> and none of them work, can someone tell me what I am doing wrong? TIA.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/8da4e506-2504-4724-b4e9-c1d45c61800dn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/8da4e506-2504-4724-b4e9-c1d45c61800dn%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/CAC15M2K3t7%2BtseL5gi%2BX_nE%3D3JtsBjfHU8rdxO48puT_m%2BgV8A%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/ansible-project/CAC15M2K3t7%2BtseL5gi%2BX_nE%3D3JtsBjfHU8rdxO48puT_m%2BgV8A%40mail.gmail.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/5511D1E4-BE4E-4EF3-98E6-0AA3F39B5470%40gmail.com.

Reply via email to