Quebrando comandos longos do bash em arquivos de script


15

Como você agrupa um comando longo para a próxima linha em um arquivo de script bash?

Como um exemplo simples, eu quero executar o comando pushd . && cd /foo/bar && ls && popd

No console, eu posso fazer isso:

pushd . \
&& cd /foo/bar \
&& ls \
&& popd

E isso envolve a linha. Mas o mesmo código em um arquivo de script produz um erro.

Como você agrupa essas linhas para serem bem formatadas?

Respostas:


16

Funciona bem aqui. Verifique se a barra invertida é o último caractere da linha e se o arquivo usa terminações de linha * nix.


Funciona bem aqui também, mas o mesmo acontece com a remoção do \ 's e &&' s completamente e apenas deixando os comandos em linhas separadas ...
Brian Kintz

2
@elmugrat: Mas então você perde o encadeamento condicional.
Ignacio Vazquez-Abrams

Ahhh verdade ... de alguma forma se esqueceu disso.
Brian Kintz 24/01

2
Esse problema foi o final da linha, devido ao fato de eu estar usando o cygwin no Windows e não em um sistema operacional diferente. Obrigado.
Jen S.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.