The fact that the change is so obvious and so simple and yet so many developers keep telling users to pipe the output into a shell is precisely why this is a "big deal".
Re:Don't Pipe to your Shell
by FiloSottile on Thursday October 31, 2013 @11:17PM
(#6651595)
"https://", please. Really, please.
EDIT: Thanks <3
Re:Don't Pipe to your Shell
by toomuchtodo on Friday November 01, 2013 @01:01PM
(#6654891)
Credit where credit is due :)
Re:Don't Pipe to your Shell
by general_failure on Friday November 01, 2013 @12:20AM
(#6651745)
It is a big deal.
> Turns into this: wget -O install.sh https://example.com/install.sh && sudo sh ./install.sh
Straw man.
No it doesnt turn into that, it turns into wget https://install.sh && ls && less install.sh && less lala2 && echo "ok looks good enough" && ./install.sh # no sudo, to user local install, its just a package or program ffs,
when you want packages to install for all users, or system wide, then you use the default package manager of your distribution.
Then take that to its logical conclusion and read the source code for all the stuff you are installing, and the description of all the packages you are installing. Your argument was the strawman.
You are assuming wget returns error codes reliably. It does not. Also, your example assumes write permissions to the current working directory and no risk of someone nefarious being able to write to the current working directory.
wget -O - https://example.com/install.sh | sudo sh
Turns into this:
wget -O install.sh https://example.com/install.sh && sudo sh ./install.sh
Big deal.
EDIT: Changed protocol to https for FiloSottile.