シェル構文:改行に\を正しく使用する方法は? [コピー]

シェル構文:改行に\を正しく使用する方法は? [コピー]

私はリストの行を囲む適切な方法が次のようになると思いました。

command1 && \
command2

これは事実ではなく、必要もないことがわかりました。\

$ [  $(id -u) -eq 1000  ] &&                                                   
> echo yes
yes

パイプも|同じように動作します。

Bashのマニュアルページのパイプとリストのセクションにはこれについて何も記載されていません。だから私の質問は:\長い行を壊す正しい使い方は何ですか?

ベストアンサー1

続行せずに文が正しい場合は必須です\。したがって、コマンドを終了できないため、次はバックスラッシュなしで実行されます&&

echo 1 &&
echo 2

これにはバックスラッシュが必要です。

echo 1 2 3 \
4

または

echo 1 \
&& echo 2

それ以外の場合、bashは次の行を待たずに最初の行を処理した直後にコマンドを実行します。

おすすめ記事