Bash 如何将pass输入写入此特定的Unix脚本

Bash 如何将pass输入写入此特定的Unix脚本,bash,unix,github-api,Bash,Unix,Github Api,我正在尝试使用这些命令,这些命令可以在我自己的github帐户中创建回购 #!/bin/bash a=$1 curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":$a}' 但它并没有像我预期的那样起作用。关键是,我如何将$1(第一个参数)传递到$a中 顺便说一下,此手册代码适用于: curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":"NEW_FOL

我正在尝试使用这些命令,这些命令可以在我自己的github帐户中创建回购

#!/bin/bash
a=$1
curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":$a}'
但它并没有像我预期的那样起作用。关键是,我如何将$1(第一个参数)传递到$a中

顺便说一下,此手册代码适用于:

curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":"NEW_FOLDER"}'
此外,如果我将代码设置为

curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":"$1"}'
curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":'"$a"'}'
创建的相应文件夹将命名为-1,这不是我要查找的

附言: 如果我让代码像

curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":"$1"}'
curl -u 'MYNAME' https://api.github.com/user/repos -d '{"name":'"$a"'}'
那么上面的结果就是一个错误

shawn:~$ ./gitcp test
Enter host password for user 'MYNAME': 
{
  "message": "Problems parsing JSON",
  "documentation_url": "https://developer.github.com/v3"
}
替换

'{"name":$a}'


请参阅:

a=“$1”
“name”:“$a”
将它们放在里面”应该可以解决问题。我以前尝试过这个方法。它确实创建了一个文件夹,但名称是-a。您考虑过只使用
“name”:“$1”吗“
?@fmbesteiro我试过了。看我原来的帖子。创建的相应文件夹将命名为-1,这不是我要查找的。
curl-u'MYNAME'https://api.github.com/user/repos -d“\'{\'name\':\“$1\'}\'”
这个区块怎么样?它逃过了大多数特殊的魔咒hanks@EtanReisner,我没有注意到它们是这样的它不起作用。shawn:~$./gitcp测试输入用户“MYNAME”的主机密码:{“message”:“解析JSON时出现问题”,“文档url”:“}shawn:~$@pabbeter:我已更新了答案。我的密码是正确的。但它仍然说明了一些错误。输入用户“MYNAME”的主机密码:{“消息”:“验证失败”,“错误”:[{“资源”:“存储库”,“代码”:“缺少字段”,“字段”:“名称”},{“资源”:“存储库”,“代码”:“自定义”,“字段”:“名称”,“消息”:“名称太短(最少1个字符)”},“文档\u url”:“”}