сокращение ссылок в консоли



Предыдущая | Следующая

сокращение ссылок в консоли
https://the-bosha.ru/2009/10/28/short_url_from_console/

 

Наверняка вы обмениваетесь с друзьями ссылками. Это конечно удобно когда они короткие ссылки, но если ссылки длинные, на пример из википедии, да еще и не в самом удобно-читаемом виде? Например http://ru.wikipedia.org/wiki/IBM_PC-%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B8%D0%BC%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80. Согласитесь, не совсем удобно. Именно для таких случаев есть всякие случаи вроде http://tinyurl.com и http://clck.ru. Последний кстати, умеет принимать аргрумент в виде адреса, и отдавать укороченный линк. В общем-то, я и написал маленький, простенький скрипт который это делает сам, и копирует по надобности адрес, в буфер обмена.

И так, код скрипта:

#!/bin/bash

case "$1" in
  -h)
    echo 'Для вставки url в буфер обмена, используйте -x. Для вывода на стандартный вывод, без опций.';
    exit 1;
    ;;
  -x)
    if [ -x /bin/xclip -o /usr/bin/xclip ];
        then
            curl --silent http://clck.ru/--?url=$2 | xclip
            exit 0;
        else
            printf "Xclip не установлен. Установите его прежде чем использовать."
            exit 1;
        fi
    ;;
   *)
    curl http://clck.ru/--?url=$1
esac
exit 0

Как видно выше, требуется установленный xclip что бы копировать сразу в буфер обмена.
Скрипт принимает два аргумента: это -h для вывода справки (написал по привычке), и -x что бы копировать сразу в буфер. Вызов без параметра, просто выведет полученный линк, в терминал.

Конечно, можно зайти на сайт, или просто вызвать из консоли curl http://clck.ru/--?url=адрес_сайта, но мне лично, неудобно каждый раз писать такую длинную команду, или заходить на сайт. Поэтому я сделал скрипт исполняемым (chmod +x clck), и положил в /usr/bin/. Использую просто написав в терминале, примерно так: clck -x http://the-bosha.ru/ После этого, в буфере уже будет адрес. Кстати, можно еще использовать в скриптах.