特定のechoステートメントが何をしているのか理解しようとしています。

特定のechoステートメントが何をしているのか理解しようとしています。

2番目のechoステートメントが正確に何をしているのかを理解しようとしています(既存のスクリプトです)。

echo "Triggering report.. "
curl -s -X POST "http://aaa.bbb"
echo -e \ '\
'

-eバックスラッシュをエスケープできるという内容を読んでいます。ところで、なぜ外部にバックスラッシュがあるのか​​わからず、引用符の中に\nの代わりにバックスラッシュだけがある理由はよくわかりません。

ベストアンサー1

2番目のコマンドは、echo次の移植可能なコマンドと同じです。

printf ' \\\n\n'

これにより、スペース、バックスラッシュ、および2つの改行が出力されます。

比較のために、このechoコマンドはエスケープされたスペースだけでなく、リテラルバックスラッシュとリテラル改行文字を出力してこれらの文字を出力します。デフォルトでは、2番目の改行文字が出力に追加されますecho。最初のスペースは引用符付き文字列の一部ではないため、エスケープする必要があります(そうでない場合は、シェルはコマンドを単語に分割して削除します)、バックスラッシュは一重引用符で囲まれた文字列になければなりません。それ以外の場合はエスケープされます。次の文字を定義します。

-eコマンドで使用されているオプションはここで何もしないで削除できます。

echo(から)bashの等価公式:

echo -e ' \\\n'
echo ' \
'
echo -n -e ' \\\n\n'
echo -n ' \

'

また見なさい:

おすすめ記事