Простая передача файлов из командной строки с использованием transfer.sh

transfer() { basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g');curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile"|xsel --clipboard;xsel --clipboard ; }


Команда transfer() позволяет передавать файлы с помощью сервиса transfer.sh из командной строки. Она принимает в качестве аргумента путь к файлу, который вы хотите передать.

Команда осуществляет следующие действия:
1. Определяет имя базового файла из переданного пути с помощью basename.
2. Заменяет все символы в имени файла, кроме букв, цифр, точек, подчеркиваний и дефисов, на дефисы с помощью sed.
3. Загружает файл на сервер transfer.sh с помощью curl, отображая полосу прогресса (—progress-bar) и указывая имя файла в URL.
4. Копирует URL файла в буфер обмена с помощью xsel.
5. Выводит URL файла повторно с помощью xsel.

Эта команда может быть полезна, если вам нужно быстро поделиться файлом из командной строки. Альтернативными способами передачи файлов могут быть использование других сервисов передачи файлов или собственного сервера FTP или SFTP. Аргумент команды — это путь к файлу, который вы хотите передать.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *