String 尝试使用git API创建和发布git存储库,可以';我不能让bash在命令中使用我的变量

String 尝试使用git API创建和发布git存储库,可以';我不能让bash在命令中使用我的变量,string,bash,api,variables,github,String,Bash,Api,Variables,Github,因此,我有一个转换为GIT的Subversion存储库列表,我有一个svn存储库路径数组(这是我的for循环上的范围),我让它删除路径,这样我就有了存储库名称(repo_name=${I###*/}),然后我让它确定存储库的最终URL(URL变量分配),然后我使用git API命令在github上创建一个存储库,这就是我的问题所在 我需要curl--data命令来命名存储库,此时for循环中repo_name的值是多少。我想问题是字符串中有一个变量。我需要将repo_name值设置为存储库的名称

因此,我有一个转换为GIT的Subversion存储库列表,我有一个svn存储库路径数组(这是我的for循环上的范围),我让它删除路径,这样我就有了存储库名称(repo_name=${I###*/}),然后我让它确定存储库的最终URL(URL变量分配),然后我使用git API命令在github上创建一个存储库,这就是我的问题所在

我需要curl--data命令来命名存储库,此时for循环中repo_name的值是多少。我想问题是字符串中有一个变量。我需要将repo_name值设置为存储库的名称,因为现在它将存储库命名为repo_name

for i in "${svn_repos[@]}";
do
    repo_name=${i##*/}
    url="https://github.com/jjohnson304/${repo_name}.git"

    curl --data '{"name":"${repo_name}"}' -X POST -u jjohnson304 https://api.github.com/user/repos
    git svn clone $i
    git remote add origin ${url}
    git push -u origin master
done

变量不在单引号内展开。您需要对
--data
参数使用双引号,其中的引号转义为
\“


谢谢,这就解决了问题。如果我想阅读转义引号,有什么特别需要研究的吗?请参阅中的“引用”部分。
curl --data "{\"name\":\"${repo_name}\"}" -X POST -u jjohnson304 https://api.github.com/user/repos