行末のバックスラッシュがあまりにも多くのスペースを占めるのはなぜですか?

行末のバックスラッシュがあまりにも多くのスペースを占めるのはなぜですか?

私は考えた:

#!/bin/bash
cmd --options \
    option=value,\
    option=value,\
    option=value,\
    option=value

しかし、それを実行した後、次のようなbash -x結果が得られます。

cmd --options option=value, option=value, option=value, option=value

これによりエラーが発生します。

Bashが自動的にこのスペースを入れないようにするにはどうすればよいですか?

ベストアンサー1

まあ、各行の先頭にはスペースがあります。単一空間に圧縮されていても、 bash は自動的に削除しません。

これを完全に回避するには、次のようにスクリプトを作成します。

#!/bin/bash
command --options \
opt1=val1,\
opt2=val2,\
opt3=val3

おすすめ記事