Copie e cole um comando multilinha na linha de comando

0

Estou escrevendo um documento sobre a instalação do meu software e eu tenho que escrever coisas como

Please do the following:

  sudo apt-get update
  sudo apt-get install python-dev cython portaudio19-dev

A ideia é: as pessoas vão copiar / colar estas duas linhas no seu bash e depois ENTER .

O que é uma maneira limpa de escrever comandos de múltiplas linhas, de tal forma que eles serão copiados / colados no bash?

sudo apt-get update
sudo apt-get install python-dev cython portaudio19-dev

ou

sudo apt-get update ;
sudo apt-get install python-dev cython portaudio19-dev

ou

sudo apt-get update &&
sudo apt-get install python-dev cython portaudio19-dev

ou algo mais?

Nota: é claro, eu poderia fornecer um script .sh , mas aqui a pergunta é mais sobre: o que é uma maneira limpa de escrever um comando multilinha, de modo que funcione ao copiar / colar.

    
por Basj 21.05.2015 / 11:12

4 respostas

2

O primeiro não vai funcionar em geral, se em tudo.

A opção dois é ; mas reconhece que diz executar o comando um após o outro independentemente se o primeiro foi executado com sucesso. Então, se o primeiro comando falhou, o segundo seria executado de qualquer maneira.

A opção três é && , o que significa, no seu exemplo, executar o segundo comando somente se o primeiro comando for bem-sucedido.

    
por 21.05.2015 / 18:29
1

Você não precisa fazer nada de especial, a CLI vê o carro invisível retornar e, em seguida, vai para a próxima linha. Apenas destaque, copie e cole!

    
por 21.05.2015 / 12:01
1

O melhor é o terceiro, eu acho. Com o primeiro e o segundo, todos, exceto o último comando, serão executados. Então você terá que apertar novamente.

    
por 21.05.2015 / 12:08
1

Eu pessoalmente uso o duplo-comercial ( && ) e mantenho tudo em uma única linha, se estiver digitando. Se eu estiver copiando e colando em uma janela do PuTTY, posso simplesmente copiar e colar, e todos os comandos serão executados, como se eu os digitasse e pressionasse Enter manualmente após cada linha.

A grande vantagem adicional sobre o && é que o comando parará se houver um erro e não continuará. Isso me permite ver qual parte estava errada e corrigi-la (erro de digitação? Diretório de trabalho errado? Não raiz [minha empresa não usa sudo -.-]?).

    
por 21.05.2015 / 18:34