Měli jste někdy problém, že potřebujete udělat screenshot a pak jej automaticky nahrát na FTP server? Toto a mnoho jiné vám poskytne můj script napsaný v Unix shell scriptu.
Shell script
Původní učel programu byl jednoduchý:
Vyfoť
Ulož
Uploadni
Vlož odkaz do schránky
Tato myšlenka se během psaní tohoto scriptu rozvinula na takovou uroveň, že script umí:
Vytvořit screenshot (celé obrazovky, nebo určitého okna)
Uložit ho ve formátu např. PNG
Vytvořit kopii v JPG, která se bude nahrávat na FTP.
Zeptá se zda má screenshot uploadnout.
Uploadne screenshot.
Vloží odkaz do schránky.
Pro fungovaní toho scriptu jsou potřebné následné programy: Imagemagick, NcFTP, Xclip.
A nyní k samotnému scriptu:
#!/bin/sh
#By Wilima 11.10.09
clear
echo "_____________________________________"
echo "--------------SCREENER---------------"
echo "-------------------------------------"
echo
##################CONFIG#######################
#Format nazvu slozky pro aktualni den, rok-mesic-den
nazev_slozka=$(date +%y-%m-%d)
#Format nazvu pro screenshot, screenROKmesicDENhodinaMINUTAsekunda
nazev_screen="screen"$(date +%y%m%d%H%M%S)
#Cesta ke korenove slozce se screenshotama BEZ KOCOVEHO / !
cesta_ke_slozce="/mnt/data/files/pictures/screenshots"
#Cesta ke slozce pro ukladani screenu na FTP
cesta_ftp="/public_html/screens/"
#Format screenu pro archivaci
format="png"
#Format pro upload na web
format_upload="jpg"
#FTP udaje
server="VAS SERVER"
user="UZIVATELSKE JMENO"
password="HESLO"
#################################################
#Vytvoreni korenoveho adresare pro ukladani screenshotu
if [ -e $cesta_ke_slozce/ ]; then
echo "Adresar pro ulozeni screenshotu.....OK"
else
echo "Adresar pro ulozeni screenshotu.....FALSE"
echo
mkdir $cesta_ke_slozce/
echo "Vytvarim korenovou slozku pro screenshoty.....OK"
fi
#Vytvoreni slozky pro ukladani screenshotu z dnesniho dne
if [ -e $cesta_ke_slozce/$nazev_slozka ]; then
echo "Slozka pro dnesni den existuje...."
else
echo "Vytvarim slozku pro dnesni den.....OK"
mkdir $cesta_ke_slozce/$nazev_slozka
fi
#Vstup do slozky pro ukladani screenshotu
cd $cesta_ke_slozce/$nazev_slozka
#Screen urciteho okna/cele plochy, parametr -w za scriptem
if [ "$1" = "-w" ]; then
echo "Vyberte okno, ze ktereho chcete udelat screen..."
#Vytvori screen pouze daneho okna
import $nazev_screen.$format
else
echo
echo "Screen bude vytvoren za 10sec..."
echo
#Pocka 10 sec nez vytvori screen
sleep 10
#Vytvori screen cele plochy
import -window root $nazev_screen.$format
fi
#Upload screenshotu
echo
echo "Screen vytvoren... ($cesta_ke_slozce/$nazev_slozka/screen$nazev_screen.$format)"
echo
echo -n "Chcete screenshot uploadovat ? y,n"
echo
read upload
if [ $upload = "y" ]; then
#Prevedni screenu do $format_upload pro upload
convert $nazev_screen.$format $nazev_screen.$format_upload
#Upload screenu na ftp server
ncftpput -u $user -p $password $server $cesta_ftp $cesta_ke_slozce/$nazev_slozka/$nazev_screen.$format_upload
#Smazani $format_upload screenu z lokalniho hdd
rm $nazev_screen.$format_upload
echo
echo "Screen upload.....OK"
echo
#Vlozeni download linku do schranky
echo "Download link (File: $nazev_screen.$format_upload): VAŠE_DOMENA.CZ/SLOŽKA_SE_SCREENY/$nazev_screen.$format_upload" | xclip -selection c
sleep 30
else
#Vlozeni lokalni cesty ke screenshotu do schranky
echo "$cesta_ke_slozce/$nazev_slozka/$nazev_screen.$format" | xclip -selection c
exit
fi
Snažil jsem se script okomentovat tak aby byl pochopitelný a použitelný. I když má script své mouchy je plně funkční. Testováno na Fedoře 11. Script může upravovat kdokoli, jen prosím o uvedení odkazu na můj původní článek.
Záložky:Kliknutím na ikony můžete doporučit článek dalším lidem.
Shell scripting – Screener
Měli jste někdy problém, že potřebujete udělat screenshot a pak jej automaticky nahrát na FTP server? Toto a mnoho jiné vám poskytne můj script napsaný v Unix shell scriptu.
Shell script
Původní učel programu byl jednoduchý:
Tato myšlenka se během psaní tohoto scriptu rozvinula na takovou uroveň, že script umí:
Pro fungovaní toho scriptu jsou potřebné následné programy: Imagemagick, NcFTP, Xclip.
A nyní k samotnému scriptu:
Snažil jsem se script okomentovat tak aby byl pochopitelný a použitelný. I když má script své mouchy je plně funkční. Testováno na Fedoře 11. Script může upravovat kdokoli, jen prosím o uvedení odkazu na můj původní článek.