me gustaría integrar un comando largo como este en un script bash:¿Cómo rompo un literal de cadena extremadamente largo en bash?
mycommand \
--server myserver \
--filename extremely/long/file/name/that/i/would/like/to/be/able/to/break/up/if/possible \
--otherflag \
--anotherflag
con el nombre de archivo largo roto.
que podía hacer esto:
# Insufficiently pretty
mycommand \
--server myserver \
--filename extremely/long/file/name/\
that/i/would/like/to/be/able/to/break/\
up/if/possible \
--otherflag \
--anotherflag \
pero se rompe el flujo. Me como para ser capaz de escribir esto:
# Doesn't work
mycommand \
--server myserver \
--filename extremely/long/file/name/\
that/i/would/like/to/be/able/to/break/\
up/if/possible \
--otherflag \
--anotherflag
pero eso no funciona porque se rompe la cadena literal.
¿Hay alguna manera de decirle a bash que rompa una cadena literal pero ignore los espacios iniciales?
Buena idea. Puedes hacerlo más limpio, usando el operador '+ =' en lugar de 'file = $ {file}/...' – Chriszuma
+1: este es el enfoque menos ofuscado en mi opinión. La intención es clara. –
@Chriszuma Sí, olvidé que bash permitió el operador '+ ='. Edité mi respuesta. – WilQu