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 回答