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.


what I was saying was that
echo "text" | sudo tee newfilewould hang and never return and needs to be interrupted. I just noticed this does not happen in bash but I was testing in zsh.you’ve missed the point here I’m afraid. But I’ll blame it on my for not explaining properly what I was intending to do.
ZSH is bash-compliant, but will not always behave like bash in all situations.
Add
sh -cbeforeechoyep. that did it. I had to wrap the entire thing in quotes though
sh -c "echo 'test' | sudo tee newfile"