builtin.expect question

Hello Everyone!

I trying to install ohmyzsh using ansible inside of a bigger yml file with a bunch of other sutff.
in hte ansible.builtin.expect block the goal is to anwser one installation question but it waits for the timeou and display a huge error message.
Basically sucessfully install ohmyzsh but not awnser the installation question.

What you guys think, I’m doing wrong or have a better way to do it?

  • name: Check if Oh My Zsh is installed
    stat:
    path: /home/rreis/.oh-my-zsh
    register: ohmyzsh_installed

  • name: Install Oh My Zsh
    ansible.builtin.expect:
    command: sh /home/rreis/install.sh
    responses:
    ‘Do you want to change your default shell to zsh? [Y/n]:’: “Y\n”
    timeout: 30
    when: ohmyzsh_installed.stat.exists == false

Are you certain your install.sh script produces that literal string as the prompt?

‘Do you want to change your default shell to zsh? [Y/n]:’: “Y\n”

You can use a regex in the key side of the dictionary.

‘.change your default shell to zsh.’: “Y\n”

Maybe your string isn’t matching so it times out?

Walter

If you’re just trying to find a way to ALWAYS say “yes, install” then looking at https://github.com/ohmyzsh/ohmyzsh/blob/master/tools/install.sh#L37C31-L37C31 you could just pass in --unattended?

guys!
Thank you for you response, unfortunettly change the respose not work but with --unnatend option I just ran "chsh -s $(which zsh)"after and voilá it is done!

Thank you very much for the support!

Hi Guys!
Thank you for the responses
I Just used unnatend option and at the end have this chsh -s $(which zsh) to set the zsh as default shell. works like charm!

I need to RTFM more… thank’s all!