如何将pass输入写入此特定的Unix Scripting

时间:2015-07-01 19:17:53

标签: bash unix github-api

我正在尝试创建这个命令,它可以在我自己的github帐户中创建一个repo。

#!/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"}'

创建的相应文件夹将命名为-1,这不是我要找的。

PS: 如果我使代码像

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"
}

1 个答案:

答案 0 :(得分:2)

替换

'{"name":$a}'

通过

'{"name":'\""$a"\"'}'

请参阅:Difference between single and double quotes in bash