Aliasing github.token en ~ / .gitconfig a un command de shell

Me gustaría establecer el valor de github.token en mi ~ / .gitconfig para que sea el resultado de un command de shell. Actualmente tengo lo siguiente:

[github] user = zmanji token = !echo ~/.githubtoken 2> /dev/null 

Sin embargo, git config github.token no devuelve el contenido del file ~ / .githubtoken, sino el command en sí. ¿Cómo puedo hacer que funcione como lo desea?

Editar: Para ser claros, estoy tratando de lograr lo que está implícito aquí :

También puede definir github.token como un command que devuelve el token real en stdout estableciendo la variable en una cadena de command con el prefijo ! .

Parece que la trampa aquí es que no está configurando el token en la configuration de gitconfig. Él está usando la herramienta Hub de Defunkt . Este es un contenedor para el command git que, entre otras cosas, le permite tener variables de entorno GITHUB_USER y GITHUB_TOKEN . Que anulará la configuration en el file local .gitconfig .

Luego, para hacerlo sin problemas, el usuario señalaba alias alias git=hub en su configuration ZSH . Debería poder get un file local donde establezca sus variables de entorno e introduzca su repository en el mundo público con toda su información privada intacta.

** NOTA para usuarios homebrew en OSX, puede instalar la herramienta a través de brew install hub .

En lugar de almacenar mi token GitHub en un file, lo .gitconfig en mi llavero OS X y lo obtengo así (fragment de mi .gitconfig ):

 [github] token = !security find-generic-password -gs \"GitHub API Token\" 2>&1 >/dev/null | awk '/password/ {print $2}' | tr -d \\\" 

Por lo que puedo inferir de la página man de git config , solo git config alias.* Tiene la posibilidad de definir commands de shell.

Así que tal vez Defunkt estaba hablando de un alias llamado token

 git config alias.token '!security 2>&1 >/dev/null find-generic-password -gs github.token | ruby -e 'print $1 if STDIN.gets =~ /^password: \\\"(.*)\\\"$/'' 

Se usaría para recuperar rápidamente el valor de su token de GitHub.
El valor de retorno se asignaría luego a github.token través de un clásico git config github.token xxx .