INT 21h

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

№ 8004 В разделах: Администрирование Программирование от 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 *

*

Комментарии

  • 21h: нене ) без меня )
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно...
  • 21h: слушать никто не запрещает. нет закона, который запрещает...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете...

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