首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为.bash_profile bot的消息命令创建GroupMe别名

如何为.bash_profile bot的消息命令创建GroupMe别名
EN

Stack Overflow用户
提问于 2016-11-08 04:21:37
回答 1查看 144关注 0票数 0

我有一个GroupMe机器人,它可以以这种格式向它指定的聊天发送消息:

代码语言:javascript
复制
curl -d '{"text" : "text", "bot_id" : "(REDACTED)"}' https://api.groupme.com/v3/bots/post

所以,我决定为它创建一个别名,而不是每次我想发送信息时都输入这个怪物。

下面是我试图在我的.bash_profile中使用的内容:

代码语言:javascript
复制
alias groupmessage=groupmessagefunction
groupmessagefunction() { curl -d '{"text" : $1, "bot_id" : "(REDACTED)"}' https://api.groupme.com/v3/bots/post; }

有人能告诉我什么是正确的格式来使这个工作吗?谢谢!

更新1:

现在我的代码如下:

代码语言:javascript
复制
v="bot_id_string"
alias groupmessage=groupmessagefunction
groupmessagefunction() { curl -d '{"text" : '"$1"', "bot_id" : '"$v"'}' https://api.groupme.com/v3/bots/post; }

我想指出的是,我想要完成的是输入以下内容:

代码语言:javascript
复制
groupmessage "hello"

代码语言:javascript
复制
groupmessage hello

然后,它将发出以下命令:

代码语言:javascript
复制
curl -d '{"text" : "hello", "bot_id" : "bot_id_string"}' https://api.groupme.com/v3/bots/post

如果出现误解,我希望这会有助于澄清这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-08 10:07:53

现在,我希望这将是你的解决办法:

代码语言:javascript
复制
v=bot_id
curl -d '{"text" : "Test", "'$v'" : "(REDACTED)"}' api.groupme.com/v3/bots/post

您必须在' '中使用$v --> '$v',因为这将允许bash计算curl -d ' ... '中的$v

回答您的更新1

如我所见,使用eval命令的更好方式是:

代码语言:javascript
复制
v="bot_id_string"
alias groupmessage=groupmessagefunction
groupmessagefunction() {
    a="curl -d '{\"text\" : \"$1\", \"bot_id\" :  \"$v\"}' https://api.groupme.com/v3/bots/post"
    echo "$a"    # this echo just for checking
    eval "$a"; }

groupmessage "Hello is it working now ?"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40478911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档