如何在命令行获取github“短”用户名?

时间:2012-10-03 00:46:23

标签: git bash github terminal environment-variables

所以如果......

$ git config user.name
↳ Alex Gray              # OK (my name)
$ git config user.email
↳ alex@mrgray.com        # OK (my email).

和..

GithubUserForProject() {  # in pwd
    ORIGIN=$(git config --get remote.origin.url) && echo $ORIGIN
    OWNER=${ORIGIN%/*}     && echo $OWNER  # trim URL tail
    OWNER=${OWNER#*.com/}  && echo $OWNER  # trim URL head
    OWNER=${OWNER#*:}      && echo $OWNER  # trim ssh URL head
}

$ cd /local/git/MyGitHubRepo && GithubUserForProject
↓ git@github.com:mralexgray/MyGitHubRepo.git
↓ git@github.com:mralexgray
↳ mralexgray            # OK (my username, but skanky way of finding it) 

但是...

$ cd /local/git/SomeGuysProject && GithubUserForProject
↓ git://github.com/someguy/SomeGuysProject.git
↓ git://github.com/someguy
↳ someguy              # WRONG! (cloned repo's user!)

那么,如何我可以通过编程方式确定我的github“短用户名”,来自env反讽,github API请求等,或其他(通过脚本或终端会话?

2 个答案:

答案 0 :(得分:1)

我觉得愚蠢这样一个无聊的问题如此明显地未解决...所以因为不知道如何巧妙地解析bash中的字符串而不诉诸SED组合我心里明白,......

security find-internet-password -s github.com | grep acct | sed 's/"acct"<blob>="//g' | sed 's/"//g'

étvoila....

mralexgray

这可能取决于安装Github mac客户端......再次...... 它可能不会

答案 1 :(得分:0)

我会同意评论者的意见...... Bash如何知道你的用户名,除非你告诉它?

您可以使用git push进行测试以了解它是否是“您的”回购,但如果您的SSH密钥设置不正确,即使这样也会失败。简而言之,您只需将其设置为~/.bash_profile或其他内容即可完成。