Skip to content

Instantly share code, notes, and snippets.

@lance
Forked from przemoc/gitio
Created November 10, 2011 20:14
Show Gist options
  • Save lance/1356038 to your computer and use it in GitHub Desktop.
Save lance/1356038 to your computer and use it in GitHub Desktop.
Turn a github.com URL into a git.io URL.
#!/bin/sh
# Usage: gitio URL [CODE]
#
# Turns a github.com URL
# into a git.io URL
#
# Copies the git.io URL to your clipboard if xclip is available.
URL="$1"
CODE="$2"
if ! expr "${URL}" : "^\(\(https\?://\)\?\(gist\.\)\?github.com/\)" >/dev/null; then
echo "* github.com URLs only" >&2
exit 1
fi
if ! expr "${URL}" : "^http" >/dev/null; then
URL="https://${URL}"
fi
OUT="$(\
curl -si http://git.io -F "url=${URL}" ${CODE:+-F "code=${CODE}"} | \
sed '/^Status: /{s///;/^201/d;q};/^Location: /!d;s///'
)"
if expr "${OUT}" : "^[0-9]\+" >/dev/null; then
echo "${OUT}" >&2
exit 1
fi
echo "${OUT}"
which xclip >/dev/null && echo "${OUT}" | xclip -selection clipboard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment