Alguém pode soletrar o que este comando wget para instalar o Heroku toolbelt faz?

5

Estou familiarizando-me com os comandos do terminal e deparei com este comando para instalar o conjunto de ferramentas Heroku:

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

Agora, a partir de aqui , percebo que o wget é usado para baixar arquivos da Internet através de vários protocolos suportados, e eles vão baixar mesmo se eu fizer logoff.

Está certo?

E eu queria saber mais duas coisas sobre esse comando:

  1. Eu vejo -q0- no código. O que isso significa? Das manpages, vejo que -q é usado para transformar a saída de Wget off. Mas o que isso significa também? E como está usando -q diferente de -q0-

  2. Qual é o |sh no final do comando? O que isso faz?

Muito obrigado pelo tempo todo!

    
por Programming Noob 26.07.2012 / 23:25

3 respostas

5

Esse comando, na verdade, é wget -qO não wget -q0 .

Ele baixará o arquivo link silenciosamente (opção -q ) e qualquer coisa baixada será concatenada em conjunto e gravada em um arquivo de buffer de arquivo único ( -O ), esse buffer baixado será então pipetado e executado com sh .

sh é um interpretador de shell que executará as informações que você acabou de baixar.

Então, em palavras simples, você está dizendo com este comando: baixe este arquivo sh e não crie uma saída de progresso e o que quer que você baixe execute com sh .

    
por Bruno Pereira 26.07.2012 / 23:37
7
  1. Como a maioria dos programas isolados iniciados a partir de um terminal, o comando wget normalmente NÃO continuará sendo executado depois que seu pai (terminal) tiver sido fechado (via logout, etc.)

  2. -qO- é uma abreviação das duas opções de linha de comando -q -O-

    • q diz ao wget para não gerar informações de status / progresso
    • O- informa para enviar os dados baixados para saída padrão
  3. | sh canaliza os dados da saída padrão para o comando sh , executando o script

por izx 27.07.2012 / 01:26
1

Isso não é um 0 (número) é um O (letra), ele redireciona a saída para um arquivo, neste caso (-) a saída padrão, então o conteúdo do arquivo baixado será redirecionado (pelo |) para a entrada padrão sh . sh é um shell, um interpretador de comandos que executará os comandos que recebe.

Você pode aprender mais sobre Redirecionamentos na manpage sh ( man sh ).

    
por Eric Carvalho 26.07.2012 / 23:37