Ubuntu – Can someone spell out what this wget command to install Heroku toolbelt does

command linegnome-terminalinstallationwget

I'm getting familiar with the terminal commands, and I came across this command to install the Heroku toolbelt:

wget -qO- https://toolbelt.heroku.com/install.sh | sh

Now from here I gather that wget is used to download files from the internet through various supported protocols, and they'll download even if I logoff.

Is that right?

And I wanted to know two more things about that command :

  1. I see -q0- in the code. What does it mean? From manpages I see that -q is used to turn the output of Wget off. But what does that mean too? And how is using -q different from -q0-

  2. What is the |sh at the end of the command for? What does that do?

Thank you very much for the time!

Best Answer

That command actually is wget -qO not wget -q0.

It will download the file https://toolbelt.heroku.com/install.sh silently (-q option) and anything downloaded will be will be concatenated together and written to a single file buffer file (-O option), that downloaded buffer will then be pipped to and executed with sh.

sh is a shell interpreter that will run the information that wget just downloaded.

So, in simple words you are telling with this command: download this sh file and don't create a progress output and whatever you download execute it with sh.

Related Question