我正在尝试尽可能简单地自动化GroupMe bot。从命令行发送消息的简单方法是使用以下命令:
curl -d '{"text" : "Your message here", "bot_id" : "this_is_a_secret_string"}' https://api.groupme.com/v3/bots/post
在Shell脚本中,我想将"Your message here"
替换为var
,其中var
被设置为来自不同命令的输出。这可能吗?
我已经取代的东西"你的消息在这里"那不起作用:
var
$var
(var)
$(var)
{var}
${var}
任何放在双引号内的东西("")都被视为一个字符串,因此在这些方面没有多少尝试。
答案 0 :(得分:3)
var
将不会被评估,因为它是单引号中的w /。解决这个问题的一种方法是将3个字符串拼凑在一起:
curl -d '{"text" : "'"$var"'Your message here", "bot_id" : "this_is_a_secret_string"}' https://api.groupme.com/v3/bots/post
'{"text" : "'
"$var"
'Your message here", "bot_id" : "this_is_a_secret_string"}'
注意:这仅在var
的内容非常简单时才有效。扩展字符串仍必须是有效的JSON字符串。