繁体   English   中英

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

[英]How to obtain github “short” username at the command line?

因此,如果..

$ 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 ironment,一个GitHub的API请求等, 或以其他方式 (通过脚本或终端会话?

我以为这样一个愚蠢的问题如此悬而未决地解决了,这真是愚蠢的……因为缺乏了解如何巧妙地解析bash中的字符串而不求助于我心生的一个SED组合,并且……

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

étvoila ....

mralexgray

这可能取决于是否安装了Github mac客户端...,但又一次... 可能没有

我将同意评论者的意见... Bash怎么知道您的用户名,除非您告诉它?

您可以使用git push进行测试,以了解它是否是“您的”存储库,但是,如果正确设置了SSH密钥,则即使这样做也将失败。 简而言之,您应该将其设置为~/.bash_profile或其他内容并完成操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM