当前位置: 首页 > 知识库问答 >
问题:

用cURL命令中的变量替换字符串[重复]

萧浩漫
2023-03-14

我正在尝试尽可能简单地自动化GroupMe机器人。从命令行发送消息的简单方法是使用以下命令:

curl -d '{"text" : "Your message here", "bot_id" : "this_is_a_secret_string"}' https://api.groupme.com/v3/bots/post

在Shell脚本中,我想用var替换“Your message here”,其中var被设置为来自不同命令的输出。这可能吗?

我用不起作用的内容替换了“您的留言”:

var
$var
(var)
$(var)
{var}
${var}

任何放在双引号(")内的东西都被视为字符串,所以在这些方面没有做太多尝试。

共有1个答案

傅旺
2023-03-14

将不计算var,因为它是带单引号的。解决这一问题的一种方法是将3根弦粉碎在一起:

curl -d '{"text" : "'"$var"'Your message here", "bot_id" : "this_is_a_secret_string"}' https://api.groupme.com/v3/bots/post
  • 字符串1:'{“text”:“
  • 字符串2:“$var”
  • 字符串3:“您的消息在这里”,“机器人id:“这是一个秘密字符串”}

注意:这仅在var的内容非常简单时才有效。扩展字符串必须仍然是有效的JSON字符串。

 类似资料:
  • 问题内容: 我的字符串看起来像这样:“您可以在[开始日期+ 30]之前使用促销。” 我需要将占位符替换为实际日期- 这是销售的开始日期加上30天(或其他任何数字)。也可以单独显示而无需添加数字。同样,占位符内的所有多余空格都应被忽略,并且不要使替换失败。 用Java做到这一点的最佳方法是什么?我正在考虑用于查找占位符的正则表达式,但不确定如何执行解析部分。如果只是[开始日期],我将使用该方法,但由

  • 我试图在我的ksh程序的curl命令中使用两个变量,但它不起作用。

  • 问题内容: 我在数据库中有这样的字符串(实际的字符串包含100s的单词和10s的变量): 我像这样回显此字符串: 我的输出是。我要。我怎样才能做到这一点? 问题答案: 使用。它将翻译字符串的一部分。 对于多个值(demo): 程序输出:

  • 给定一个包含项a和B的字符串M,我想用每个a来代替B,用每个B来代替a来代替M'。天真地,人们会尝试用B代替A,然后用A代替B,但在这种情况下,M'只包含A。我可以想到替换这些项,并记录它们的位置,这样这些项就不会再被替换了。当我们只有A和B可以替换时,这是有效的。但是如果我们需要替换两个以上的项,而且它们的长度不同,那么这就变得很棘手了。 所以我想这样做: 我们将M作为输入字符串,并将R=[(x

  • 问题内容: 说我有一个看起来像这样的字符串: 您会注意到字符串中有很多与符号的位置,后跟一个字符(例如“&y”和“&c”)。我需要用字典中的适当值替换这些字符,如下所示: 最快的方法是什么?我可以手动找到所有“&”号,然后遍历字典以更改它们,但这似乎很慢。进行一堆正则表达式替换似乎也很慢(我的实际代码中将有大约30-40对字典)。 任何建议表示赞赏,谢谢。 编辑: 正如在该问题的注释中所指出的那样

  • 问题内容: 我不明白为什么这个简单的代码行不起作用: 它正在输出“ SomeVariable is $ someVariable”,而不是数字0。是否缺少某些内容或必须启用某些配置选项? 问题答案: 那是因为您需要使用双引号来代替。当用单引号引起来时,php不会将变量转换为它们的值