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.
Are you saying it waits forever, or you read somewhere it will wait forever and you want clarification?
Guessing that file doesn’t exist already is the problem, and you don’t even need to use tee in this example.
what I was saying was that
echo "text" | sudo tee newfile
would 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 -c
beforeecho
and see if that worksyep. that did it. I had to wrap the entire thing in quotes though
sh -c "echo 'test' | sudo tee newfile"