Envolviendo comandos bash largos en archivos de script

15

¿Cómo se ajusta un comando largo a la siguiente línea dentro de un archivo de script bash?

Como ejemplo simple, quiero ejecutar el comando pushd . && cd /foo/bar && ls && popd

Desde la consola puedo hacer esto:

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

Y eso envuelve la línea. Pero el mismo código en un archivo de script produce un error.

¿Cómo se ajustan estas líneas para que tengan un formato agradable?

Jen S.
fuente

Respuestas:

16

Funciona bien aquí. Asegúrese de que la barra diagonal inversa sea el último carácter de la línea y que el archivo utilice las terminaciones de línea * nix.

Ignacio Vazquez-Abrams
fuente
Funciona bien aquí también, pero también lo hace eliminar los \ 'sy &&' por completo y solo dejar los comandos en líneas separadas ...
Brian Kintz
2
@elmugrat: Pero luego pierdes el encadenamiento condicional.
Ignacio Vazquez-Abrams
Ahhh cierto ... de alguna manera se olvidó de eso.
Brian Kintz
2
Este problema fue el final de línea, que se debe al hecho de que estoy usando cygwin en Windows y no en un sistema operativo diferente. Gracias.
Jen S.