Skip to content

Instantly share code, notes, and snippets.

@gbl08ma
Created July 30, 2013 17:40
Show Gist options
  • Star 20 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save gbl08ma/6115095 to your computer and use it in GitHub Desktop.
Save gbl08ma/6115095 to your computer and use it in GitHub Desktop.
Unix shell script to shorten URLs with tny.im URL shortener. wget must be installed for this to work.
#!/bin/sh
if [ -t 0 ]; then
if [ -z "$1" ]; then
echo "usage: tny long_url [custom_keyword]"
echo ""
echo "Shorten URLs with tny.im URL shortener"
echo "This script expects a long URL to shorten either as an argument or passed through STDIN."
echo "When using arguments, an optional second argument can be provided to customize the later part of the short URL (keyword)."
exit 1
fi
url=$1;
else
while read -r line ; do
url=$line
done
fi
echo `wget -q -O - http://tny.im/yourls-api.php?action=shorturl\&format=simple\&url=$url\&keyword=$2`
@gbl08ma
Copy link
Author

gbl08ma commented Jul 30, 2013

To install this as a standard Linux command, download the gist and rename it "tny". Then, on a shell, do the following:

cd # to the directory where you downloaded it
chmod +x tny
sudo mv tny /usr/bin

Now you can simply do

tny http://some-long-url.com

to shorten URLs from the shell.

As said on the script, you can also have a second parameter to create a custom short URL. Example:

tny http://some-long-url.com shorter

will return

http://tny.im/shorter

And you can use pipes redirection too:

echo http://some-long-url.com | tny

Enjoy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment