如何在 bash 行 CURL 中包含环境变量?

尝试让传输在下载完成时通知。

这有效:

curl -u <my-api-token>: \
  -X POST https://api.pushbullet.com/v2/pushes \
  --header 'Content-Type: application/json' \
  --data-binary '{"type": "note", "title": "$TR_TORRENT_NAME", \
  "body": "$TR_TORRENT_NAME completed."}'

...除了它推送$TR_TORRENT_NAME而不是该变量的实际内容。

我需要逃避一些引用或什么吗?

约翰1024

在单引号内,shell 不展开任何内容。将它们放在双引号内:

curl -u <my-api-token>: \
  -X POST https://api.pushbullet.com/v2/pushes \
  --header 'Content-Type: application/json' \
  --data-binary '{"type": "note", "title": "'"$TR_TORRENT_NAME"'", \
  "body": "'"$TR_TORRENT_NAME completed"'."}'

让我们通过查看以下内容来检查它的工作原理:

$ TR_TORRENT_NAME=MyTorrent
$ echo '{"type": "note", "title": "'"$TR_TORRENT_NAME"'", "body": "'"$TR_TORRENT_NAME completed"'."}'
{"type": "note", "title": "MyTorrent", "body": "MyTorrent completed."}

当 shell 变量出现时,它总是在双引号内。因此,它被适当地扩展。

这样的引用有点微妙。我们有单引号字符串,其中包含双引号作为字符,并且位于双引号字符串的旁边。为了更好地理解这一点,让我们以这个片段为例:

 "'"$TR_TORRENT_NAME"'"

依次取每个字符:

  1. "是单引号字符串内的文字双引号字符。(为简洁起见,此片段中未显示此字符串的开头。)

  2. ' 关闭单引号字符串。

  3. " 打开一个双引号字符串。

  4. $TR_TORRENT_NAME 是在双引号内展开的 shell 变量。

  5. " 关闭双引号字符串。

  6. ' 打开一个新的单引号字符串。

  7. " 在单引号字符串中放置一个双引号字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在bash中并行分配环境变量

来自分类Linux

如何在bash脚本中访问PHP环境变量?

来自分类Dev

如何在git bash中设置环境变量?

来自分类Dev

如何在 bash 中取消设置无效的环境变量?

来自分类Dev

如何在Bash中的多个变量中存储curl输出

来自分类Dev

如何在 curl 的请求标头中设置环境变量?

来自分类Dev

如何删除bash中包含变量的行?

来自分类Dev

如何使用curl发送环境变量

来自分类Dev

如何在bash的curl命令中设置变量?

来自分类Dev

如何在bash中仅打印定义的变量(shell和/或环境变量)

来自分类Dev

如何在bash脚本中执行环境变量中的程序

来自分类Dev

如何在将由Bash运行的脚本的shebang(#!)中设置环境变量?

来自分类Dev

如何在Windows git bash shell中访问此环境变量

来自分类Dev

如何在Windows git bash shell中访问此环境变量

来自分类Dev

如何在Dockerfile中设置.bash_profile环境变量?

来自分类Dev

如何在bash中列出所有非环境变量?

来自分类Dev

如何在bash curl语句中包含'&'字符

来自分类Dev

如何在bash中将curl的输出捕获为变量

来自分类Dev

如何在bash脚本的curl调用中使用变量

来自分类Dev

bash如何动态改变环境变量?

来自分类Dev

如何从bash设置`screen`环境变量?

来自分类Linux

如何在.desktop文件的exec行中访问环境变量?

来自分类Dev

如何在一行中设置环境变量并执行命令(PowerShell)?

来自分类Dev

展开包含'('的bash环境变量

来自分类Dev

如何调用提供存储在Bash数组中的环境变量的bash函数?

来自分类Dev

如何将文件中声明的所有bash变量导出为环境变量?

来自分类Dev

如何访问脚本中sudo / EOF子句中的脚本变量和环境变量... BASH

来自分类Dev

使用bash的多路径环境变量设置行

来自分类Dev

如何从包含#和-的响应中设置环境变量

Related 相关文章

  1. 1

    如何在bash中并行分配环境变量

  2. 2

    如何在bash脚本中访问PHP环境变量?

  3. 3

    如何在git bash中设置环境变量?

  4. 4

    如何在 bash 中取消设置无效的环境变量?

  5. 5

    如何在Bash中的多个变量中存储curl输出

  6. 6

    如何在 curl 的请求标头中设置环境变量?

  7. 7

    如何删除bash中包含变量的行?

  8. 8

    如何使用curl发送环境变量

  9. 9

    如何在bash的curl命令中设置变量?

  10. 10

    如何在bash中仅打印定义的变量(shell和/或环境变量)

  11. 11

    如何在bash脚本中执行环境变量中的程序

  12. 12

    如何在将由Bash运行的脚本的shebang(#!)中设置环境变量?

  13. 13

    如何在Windows git bash shell中访问此环境变量

  14. 14

    如何在Windows git bash shell中访问此环境变量

  15. 15

    如何在Dockerfile中设置.bash_profile环境变量?

  16. 16

    如何在bash中列出所有非环境变量?

  17. 17

    如何在bash curl语句中包含'&'字符

  18. 18

    如何在bash中将curl的输出捕获为变量

  19. 19

    如何在bash脚本的curl调用中使用变量

  20. 20

    bash如何动态改变环境变量?

  21. 21

    如何从bash设置`screen`环境变量?

  22. 22

    如何在.desktop文件的exec行中访问环境变量?

  23. 23

    如何在一行中设置环境变量并执行命令(PowerShell)?

  24. 24

    展开包含'('的bash环境变量

  25. 25

    如何调用提供存储在Bash数组中的环境变量的bash函数?

  26. 26

    如何将文件中声明的所有bash变量导出为环境变量?

  27. 27

    如何访问脚本中sudo / EOF子句中的脚本变量和环境变量... BASH

  28. 28

    使用bash的多路径环境变量设置行

  29. 29

    如何从包含#和-的响应中设置环境变量

热门标签

归档