1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/env bash
-
- # figure out which directory we are stored in
- # https://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
- _GITNONYMOUS_SRC="${BASH_SOURCE[0]}"
- # resolve $_GITNONYMOUS_SRC until the file is no longer a symlink
- while [ -h "$_GITNONYMOUS_SRC" ]; do
- dir="$( cd -P "$( dirname "$_GITNONYMOUS_SRC" )" && pwd )"
- _GITNONYMOUS_SRC="$(readlink "$_GITNONYMOUS_SRC")"
- # if $_GITNONYMOUS_SRC was a relative symlink, we need to resolve it
- # relative to the path where the symlink file was located
- [[ $_GITNONYMOUS_SRC != /* ]] && _GITNONYMOUS_SRC="$DIR/$_GITNONYMOUS_SRC"
- done
- dir="$( cd -P "$( dirname "$_GITNONYMOUS_SRC" )" && pwd )"
- unset _GITNONYMOUS_SRC
-
- # set up our other variables
- confdir="${HOME}/.gitnonymous-${1}"
- sshfile="${confdir}/ssh/id_rsa"
- configfile="${confdir}/config"
- sshwrapperfile="${confdir}/git-ssh-wrap"
-
- if [ "$1" = "" ]
- then
- echo "Usage: $0 KEYNAME"
- else
- comment="${1}@anonymous"
- echo "-> Creating ${confdir}."
- mkdir -p "${confdir}/ssh"
- echo "-> Creating SSH key '${sshfile}'."
- echo "SSH key comment (public) is '${comment}'."
- ssh-keygen -C "${comment}" -f "${sshfile}"
- echo "-> Creating SSH wrapper '${sshwrapperfile}'."
- cat "${dir}/git-ssh-wrap" | sed "s/KEYNAME/${1}/" > "${sshwrapperfile}"
- chmod 755 "${sshwrapperfile}"
- echo "-> Creating config file '${configfile}'."
- cp ${dir}/config "${configfile}"
- echo
- echo " *** You should now edit '${configfile}' and set your own username and email. ***"
- echo
- fi
|