Стал часто пользоваться сервисом pastebin и добавлять свои заметки через браузер руками быстро надоело.
Поискал и нашел в репозитории программку pastebinit – не устроила из-за ограничений по работе с pastebin-сервисами (чтобы добавили новый сервис – надо написать автору и ждать-ждать-ждать – не очень интересно), тем более, что я как раз на хостинге сделал свой сервис на стандартном движке pastebin, чтобы не иметь проблем с кодировкой (pastebin по умолчанию работает не в unicode), да и просто из интереса.
Приведу ниже шапку скрипта (посмотреть полностью и скачать pastebinput):
#!/usr/bin/perl
#===============================================================================
# DESCRIPTION: Простая отправлялка вывода команды или тела файла на pastebin. Определяет подсветку
# для некоторых видов указанных через -i файлов.
#
# USAGE: cat file.txt | pastebinput.pl или pastebinput.pl -i file.txt
#
# OPTIONS: -i
# AUTHOR: dimio
# URL: https://dimio.org
# VERSION: 0.9
# CREATED: 2010-01-31
#===============================================================================
Справка к скрипту:
Использование: pastebinput [КЛЮЧ]... <-i input_file> (1-я форма)
или: COMMAND | pastebinput (2-я форма)
В первой форме на сервер будет отправлен указанный файл input_file.
Во второй форме на сервер будет отправлен результат вывода COMMAND.
Ключи:
-s [text, perl, ...] Синтаксис файла для подсветки на pastebin;
-u [http://server.com] URL сервера (для отличных от pastebin.org);
-e [d, m, f] Срок хранения данных на сервере:
d - один день, m - месяц, f - постоянно;
-i [input_file] Имя входящего файла, текст которого будет
отправлен на pastebin сервер;
-n [username] Имя отправителя (иначе - anonimous);
-r Помнить отправителя (если установлена);
-h Вывод данной справки и завершение программы;
Пример использования: pastebinput -r -s perl -e m -n User -i ./test.pl
Далее создаём ссылку для запуска скрипта:
ln -s /home/user/scripts/pastebinput.pl /usr/local/bin/pastebinput
В .bashrc (подробнее можно посмотреть в записи про мой bashrc) добавил alias с нужными настройками для вызова:
alias pbout='pastebinput -u http://pastebin.dimio.org -n dimio -r'
(можно дописать в конце правила, чтобы в буфер обмена сразу попадала ссылка на отправленные данные, следующее: | xclip
или | xsel -i -b
, но тогда перестаёт работать отправка тела указанного файла, данные получаемые по второй форме вызова – через конвеер, – такой проблемы не имеют).