Как разбить очень длинный строковый литерал в bash?

Я хотел бы встроить такую ​​длинную команду в сценарий bash:

mycommand \
    --server myserver \
    --filename extremely/long/file/name/that/i/would/like/to/be/able/to/break/up/if/possible \
    --otherflag \
    --anotherflag

с разбитым длинным именем файла.

Я мог бы сделать это:

# Insufficiently pretty
mycommand \
    --server myserver \
    --filename extremely/long/file/name/\
that/i/would/like/to/be/able/to/break/\
up/if/possible \
    --otherflag \
    --anotherflag \

но это прерывает поток. Я бы хотел, чтобы мог написать это:

# 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

, но это не работает, потому что это разбивает строковый литерал.

Есть ли способ указать bash разбить строковый литерал, но игнорировать любые начальные пробелы?

41
задан Simon Nickerson 11 October 2011 в 16:00
поделиться