Aujourd’hui je vais vous faire la présentation d’un script BASH portant le nom de CutMyUrl. Ce petit script a pour fonction de raccourcir une url en utilisant le service mis à disposition par ur1.ca, un service que les utilisateurs d’Identi.ca connaissent à coup sûr.
Raccourcir une adresse donnée par l’utilisateur : CutMyUrl ne fait que ça et le fait plutôt bien, en tout cas depuis une semaine que j’utilise celui-ci, il fonctionne sans problème.
Pourquoi ce script ? Tout d’abord et cela va de soi, parce que j’en ai l’utilité : Partager un lien dans sa version courte est tout de même bien pratique. Bon je vous l’accorde entre ouvrir un terminal et un navigateur pour faire exactement la même tâche, il n’y a vraiment pas de différence à l’usage… Mais à titre personnelle, je préfère utiliser un terminal qui s’ouvrira beaucoup plus rapidement.
Le script se comporte comme la majorité des outils en ligne de commande avec ses options –help, –info, etc… Pour l’utilisateur final, ça ne sert pas à grand chose mais cela permettra par la suite d’ajouter assez facilement des nouvelles fonctionnalités…
Le script :
#!/bin/sh # CutMyUrl # Version 1.0 # A shortener url command line # Using the open source service ur1.ca, http://ur1.ca/ # By Lopes Ferreira David, http://ubunblox.servhome.org/ # ubunblox@gmail.com # Licence GPL # Depends : curl ######################### ## Variables ## r="\033[0m" # regular f="\033[1m" # fat v="1.0" # version n="CutMyUrl" # name u="http://ur1.ca/" # url # # ## Check arg in $2 ## if [ -n $2 ] ; then arg=$2 fi # # ## Fonction cut url ## _cut_url () { short_url=$(curl -s "$u" -d"longurl=$arg" | grep 'Your ur1 is' | sed 's/^.*<a href="//;s/".*$//') } # # ## Fonction display short url ## _url () { _cut_url if [ -z $short_url ] ; then echo -e "\n$f---------→ Need help $USER ? $r\n" _help else echo -e "\n$short_url \n" fi } # # ## Fonction help ## _help () { echo -e "$f NAME$r" echo -e "\t$f $n $r- Shortener url command line. \n" echo -e "$f SYNOPSIS$r" echo -e "\t$f cutmyurl$r OPTION [URL]...\n" echo -e "$f DESCRIPTION$r" echo -e "\t $f-u, --url $r \t[URL]\tShort url." echo -e "\t $f-h, --help $r\t\tHelp." echo -e "\t $f-v, --version $r\t\tVersion." echo -e "\t $f-i, --info $r\t\tInformations.\n" echo -e "$f EXAMPLE$r" echo -e "\t$f cutmyurl$r -u http://google.com" echo -e "$f END$r" } # # ## Fonction informations ## _info () { echo -e "$f $n$r" echo -e "\n\t # A shortener url command line " echo -e "\t # Using the open source service ur1.ca, http://ur1.ca/" echo -e "\t # By Lopes Ferreira David, http://ubunblox.servhome.org/" echo -e "\t # ubunblox@gmail.com" echo -e "\t # Licence GPL \n" } # # ## Fonction version ## _version () { echo -e "$f VERSION$r" echo -e "\t$f version :$r\t$v\n" echo -e "$f CHANGE LOG$r" echo -e "\t$f 16/04/2011 :$r\tFirst release\n" } # # ## Start CutMyUrl ## case "$1" in -h | --help) _help ;; -i | --info) _info ;; -v | --version) _version ;; -u | --url) _url ;; *) _help esac # # ## End ## exit 0 # # |
Comme vous pouvez le voir le script est simple, tout comme l’est le « pseudo anglais » qui le compose ! Si vous avez des remarques à faire ne vous gênez surtout pas .
Note : CutMyUrl utilise curl, vérifiez si il est installé sur votre système.
Installation :
Arch Linux :
Le script est disponible sur AUR, un coup de yaourt sera suffisant :
$ yaourt -S cutmyurl |
Enjoy :
$ cutmyurl -u http://votre/url |
Autres distributions :
Télécharger tout d’abord le paquet :
$ wget http://ubunblox.free.fr/UbunBlox/AUR/cutmyurl-1.0.tar.gz |
Décompresser l’archive et rendez le fichier exécutable :
$ tar -xf cutmyurl-1.0.tar.gz |
$ chmod +x cutmyurl |
Lancez ensuite l’application :
$ ./cutmyurl -u http://votre/url |
Syntaxe d’utilisation:
$ cutmyurl [option] [url] |
Exemples :
Pour raccourcir l’adresse http://google.fr :
$ cutmyurl -u http://google.fr |
Pour afficher la page d’aide avec la liste des options :
$ cutmyurl --help |
Comme dit précédemment, n’hésitez pas à laisser vos remarques !
16 avril 2011 à 23:37
Ou alors, plus simple :
#!/bin/sh
echo « Votre url : » $1
short_url=$(curl -s « http://ur1.ca/ » -d »longurl=$1″ | grep ‘Your ur1 is’ | sed ‘s/^.*<a href="//;s/".*$//')
echo "Url raccourcie : " $short_url
echo $short_url | xclip -i
17 avril 2011 à 9:09
@D : + Simple oui et déjà dans la version 1.1 depuis hier… Je la publierais dans la semaine.
Add fonction copy to clipboard.
Todo :
History log
Tag option
Search option
Le script est articulé ainsi car pas mal de fonctions seront ajoutées d’ici peu : –history –clean –copy –tag –search
17 avril 2011 à 9:14
@D : D’ailleurs j’ai hésité entre xclip et xsel : Le vainqueur est simplement le plus léger : xclip
18 avril 2011 à 15:45
[...] CutMyUrl : Un raccourcisseur d’url en ligne de commande [...]
19 avril 2011 à 8:41
[...] CutMyUrl : Un raccourcisseur d’url en ligne de commande Partager cet article : Recommend on Facebook Buzz it up Share on netvibes Share on identica Share on technorati Tweet about it Subscribe to the comments on this post Bookmark in Browser Tell a friend [...]
19 avril 2011 à 8:44
Petite question, tu ne sais pas où trouver le code source de ur1.ca ? Ils ont un lien sur leur page d’acceuil mais il est mort…
Le code fonctionne bien sinon, juste peut être vérifier que les dépendances requises sont présentes (en voulant utiliser l’option -c, j’ai eu un message « xclip: not found. The url has been copied »)
19 avril 2011 à 8:50
@mart-e : Pour le code source je ne sais pas du tout… Ensuite pour xclip, le script est prévu pour être installé via le PKGBUILD sur la distribution Arch Linux, il installe donc les dépendances par la même occasion.
Pour les autres distributions, il faut installer les dépendances à la main, je pourrai bien ajouter un morceau de code qui vérifie si tout est bien installé mais ça fait doublon avec le PKGBUILD…
19 avril 2011 à 9:41
Tant pis pour ur1, ils disent se baser sur lilurl dont le code lui est dispo
Oui j’ai été récupéré le script moi même sans passer par AUR donc n’ai pas eu les dépendances.
Ou alors faire deux versions : une pour archlinux et une pour toute distrib mais ça devient ptete pas très pratique de fractionner le code.
19 avril 2011 à 9:54
@mart-e : je pourrais aussi passer xclip en dépendance optionnel dans le PKGBUILD … Et invité à installer xclip lors de l’utilisation de l’option -c
6 juillet 2013 à 22:58
That’s why you might have to have effective internet based business home keep when it comes to taking items proper your individual web-based online business. cash