INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Скрипт Caja для закачки файлов на FTP

№ 8004 В разделах: Programming Sysadmin от January 18th, 2016,
В подшивках:

Надоело мне файлы руками заливать на всякие обменники когда можно написать простейший bash скрипт и больше не иметь мозг с этой проблемой.

Сегодня нам понадобится:

  • Графическая оболочка Mate (ну которая бывший Gnome 2)
  • curl
  • xsel
  • zenity

Пакет zenity обычно уже предустановлен и предназначен для создания диалоговых окон из консольных скриптов. Идеально для моей нужды. Пакеты с curl и xsel придется доустановить sudo apt-get install curl xsel.

Я написал коммент к каждой строке чтобы было понятно даже непонятливым. Скрипт ложится в директорию ~/.config/caja/scripts/

#!/bin/bash
#установим разделитель "перенос строки" для CAJA_SCRIPT_SELECTED_FILE_PATHS
IFS="
"

#для удобства положил в переменную с более коротким именем
files="$CAJA_SCRIPT_SELECTED_FILE_PATHS"

#урл хранилища файлов. в конец будут добавляться имена закачаных файлов
url="http://4334.selcdn.ru/sharedfiles/"

#проверим а не пустая ли переменная нам упала
[ "$files" == "" ] && exit 1;

#в answer упадет 1 (отмена) или 0 (продолжить).
answer=$(zenity --question --text "Файл станет доступен всем. Заливаем?" --default-cancel)

#проверим что ответил юзер. 
#использую #? чтобы узнать ответ от последней запущеной программы
[ $? -ne 0 ] && exit 1

#ну а тут простой перебор файлов
for filename in $files
do
    #закачиваем курлом на фтп
    curl ftp://ftp.selcdn.ru/sharedfiles/ --user vlad:MySUPAPasswD -T $filename
    #тут определяем имя файла
    basefilename=$(basename $filename)
    #ложим результат в переменную. если несколько файлов, то учтутся и уже залитые файлы
    resultText="$resultText $url$basefilename"
done
#а теперь нежно ложим результат в буфер обмена 
echo $resultText |xsel --clipboard --input

share file caja

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Облачная платформа

Микроблог перейти


🇷🇺 © Vladimir Smagin, 2005-2023. Копирование материалов без разрешения запрещено. GPG *
Яндекс.Метрика

Fortune cookie: I bet you have fun chasing the soap around the bathtub. -- Princess Diana, to a one-armed war veteran during a visit to a London veterans hospital