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.

  • @just_another_person
    link
    2
    edit-2
    7 hours ago

    ZSH is bash-compliant, but will not always behave like bash in all situations.

    Add sh -c before echo and see if that works

    • Agility0971OP
      link
      27 hours ago

      yep. that did it. I had to wrap the entire thing in quotes though

      sh -c "echo 'test' | sudo tee newfile"