correct way to echo | sudo tee
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.
You're viewing a single thread.
-
Can’t reproduce.
16:22:48:~/tmp$ echo foo | sudo tee newfile
[sudo] Passwort für bleistift2:
foo
16:23:02:~/tmp$ ls -l newfile
-rw-r--r-- 1 root root 4 Feb 23 16:22 newfile
-
I just switched over to bash and it worked lol. It just didn't return for me in zsh...
-
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?
-
My initial guess was that sudo would eat up the echo’d foo as the password. Maybe sudo
works differently when invoked via zsh?
-
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.
-
It works here in zsh, did you mistype the closing quote? Although that alters my prompt.
-
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