私は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に文字列リテラルを壊すように指示する方法はありますか?先頭のスペースは無視しますか?
良いアイデア。 'file = $ {file}/... 'の代わりに' + = '演算子を使うと、よりきれいにすることができます。 – Chriszuma
+1:これは私の意見では最も難解なアプローチです。その意図ははっきりしています。 –
@Chriszumaはい、私はbashが '+ ='演算子を許しているのを忘れていました。私は私の答えを編集しました。 – WilQu