Can someone explain why this would make the command wait forever? What is tee waiting for?

echo "test" | sudo tee newfile

What would be a scriptable workaround for such cases?

Edit: this command would not terminate in zsh. This works fine in bash tho.

  • Agility0971OP
    link
    212 hours ago

    I just switched over to bash and it worked lol. It just didn’t return for me in zsh…

    • 2xsaiko
      link
      fedilink
      36 hours ago

      I use zsh and it works fine for me fwiw. Same with zsh --no-rcs (which doesn’t load zshrc). Maybe you have some weird setting enabled?

    • @[email protected]
      link
      fedilink
      English
      312 hours ago

      My initial guess was that sudo would eat up the echo’d foo as the password. Maybe sudo works differently when invoked via zsh?

      • Agility0971OP
        link
        112 hours ago

        sudo does not prompt for password in my container. It just elevates the privileges straight away. Yeah, it’s hard to tell. Or test for that matter.

      • Agility0971OP
        link
        1
        edit-2
        12 hours ago

        no way. I’m in /tmp for this one

        echo 'test' | tee newfile
        tee: newfile: Permission denied
        test
        echo 'test' | sudo tee newfile #the prompt never returns when running this in zsh