如何在 printf 的 bash 中的每一行添加注释?

How do I put comment on each line in bash for printf?

我的 Dockerfile 中有以下代码。然后我将输出通过管道传输到我的 setup.py。我需要在 linux 终端中 运行 这个命令。我如何在每一行上添加评论?

  printf "%s\n" \
    # Facebook OAuth Client ID (default)
    "1234" \
    # Facebook OAuth Secret (default)
    "abcd" \
    # Google OAuth Client ID (default)
    "5678" \
    # Google OAuth Secret (default)
    "qwer" \
printf "%s\n" \
    $(: 'Facebook OAuth Client ID (default)') \
    "1234" \
    $(: 'Facebook OAuth Secret (default)') \
    "abcd" \
    $(: 'Google OAuth Client ID (default)') \
    "5678" \
    $(: 'Google OAuth Secret (default)') \
    "qwer"

$(command)是命令替换,它被替换为命令的输出。

: 是一个什么都不做也不产生输出的命令。由于 (default),该参数需要被引用,否则它将作为子 shell 中的命令执行。

使用数组以避免通过 \ 参数列表进行长转义是一种很好的做法。 您可以为每个元素留下评论。

CREDENTIALS=(
    # Facebook OAuth Client ID (default)
    "1234"
    # Facebook OAuth Secret (default)
    "abcd"
    # Google OAuth Client ID (default)
    "5678"
    # Google OAuth Secret (default)
    "qwer"
)
printf "%s\n" "${CREDENTIALS[@]}"