2

行うよりも良い代替手段はありますか:

echo "{\"error\": \"Must be executed using the user account 'admin'.\"}" >&2;

bashスクリプトで?

4

1 に答える 1

2

ヒアドキュメントを試すことができます:

cat <<EOT
{"error": "Must be executed using the user account 'admin'."}
EOT

EOTこれは、目的のテキストにそれ自体のみを含む単一の行がない限り機能しますcat。それが問題になる場合は、代替トークンを選択できます。

cat <<FOO
EOT
FOO

さらに、基本的なヒアドキュメントでさえ、不要な拡張が行われていることがわかった場合、たとえば

cat <<EOT
foo$a
EOT

展開しようとすると$a、ヒアドキュメントトークンを引用してその展開を止めることができます:

cat <<'EOT'
foo$a
EOT
于 2013-05-13T01:36:03.680 に答える