Skript för skärmdumpar

Här kan du dela med dig av dina bästa tips och knep.
Kategoriregler
Här ligger de utförliga instruktionerna vi kan tänkas behöva. Leta här om du tex behöver installera nåt program eller sätta upp någon funktion. Starta inte trådar utan att ha ett svar.
Användarvisningsbild
Xappe
Inlägg: 463
Blev medlem: 16 dec 2005, 20:24
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Uppsala

Skript för skärmdumpar

Inlägg av Xappe »

Hej!

Slängde ihop ett litet bashskript för att ta skärmdump, skapa thumbnail och ladda upp det på min webserver med scp. Det spottar även ur sig bbcode för att visa dumpen med tumnagel på forum.

Krav: scrot

Kod: Markera allt

#!/bin/bash
scrn="$1"
thumb="${1%.*}-thumb.${1##*.}"
scrot -t20 "$scrn"
scp "$scrn" "$thumb" användarnamn@serveradress:/sökväg/till/webbkatalog/
echo "[url=http://serveradress/$scrn]"
echo "[img]http://serveradress/$thumb[/img]"
echo "[/url]"

rm "$scrn" "$thumb"
Ändra "användarnamn" och "serveradress" (och sökvägen på servern såklart) så det passar din server.

Användning:

Kod: Markera allt

skriptnamn filnamn.png
Hoppas det kommer till användning för någon iaf. :)
Tack Konservburk för bidragen!
Senast redigerad av 4 Xappe, redigerad totalt 2 gång.
vanum est vobis ante lucem surgere
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Skript för skärmdumpar

Inlägg av Konservburk »

Du bör verkligen dubbelfnutta dina variabler, dvs använd "$1" istället för $1. Det är A och O när det gäller skalskript.

Eftersom scrot kan göra thumbnails på egen hand så kan du skippa imagemagick helt och hållet.

Kod: Markera allt

scrot -t20 "$1"
istället för

Kod: Markera allt

scrot $scrn
cp $scrn thumb-$scrn
mogrify -resize 20% thumb-$scrn
Användarvisningsbild
Xappe
Inlägg: 463
Blev medlem: 16 dec 2005, 20:24
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Uppsala

Re: Skript för skärmdumpar

Inlägg av Xappe »

Ja, nu har jag fnuttat skriptet i första posten. :)

I vilka fall skulle mitt skript ovan inte fungera utan fnuttar? Har hittills inte haft några problem med det även fast jag vet att man bör fnutta variabler.

Vad gäller scrot, så visste jag att den kan göra tumnaglar själv. Men om jag låter scrot göra tumnagel, hur får jag då tumnagelfilen som variabel för scp? Scrot lägger ju till -thumb till filnamnet för filändelsen vilket försvårar det hela.
vanum est vobis ante lucem surgere
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Skript för skärmdumpar

Inlägg av Konservburk »

Xappe skrev:I vilka fall skulle mitt skript ovan inte fungera utan fnuttar? Har hittills inte haft några problem med det även fast jag vet att man bör fnutta variabler.
Det blir problem när variabeln (filnamnet i det här fallet) innehåller tecken som har speciell mening för skalet. Det absolut vanligaste man åker dit på är mellanslag i filnamn, men det är långt ifrån det enda problemet.
Xappe skrev:Vad gäller scrot, så visste jag att den kan göra tumnaglar själv. Men om jag låter scrot göra tumnagel, hur får jag då tumnagelfilen som variabel för scp? Scrot lägger ju till -thumb till filnamnet för filändelsen vilket försvårar det hela.
Det tänkte jag inte på att den gör. Det försvårar ju det hela en aning... ett perfekt tillfälle att lära sig hur man hanterar sådant med andra ord ;)

Kod: Markera allt

set hejsan.png
echo "$1" "${1%.*}-thumb.${1##*.}"
"${1%.*}" expanderar till allt innan sista punkten.
"${1##*.}" expanderar till allt efter sista punkten.
Användarvisningsbild
Xappe
Inlägg: 463
Blev medlem: 16 dec 2005, 20:24
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Uppsala

Re: Skript för skärmdumpar

Inlägg av Xappe »

Man får tacka för den lilla lektionen. Det där med reguljära uttryck har jag aldrig riktigt fått nåt grepp om. Har en pdf-bok i ämnet, så jag får nog ta och läsa den snart... :)
vanum est vobis ante lucem surgere
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Skript för skärmdumpar

Inlägg av Konservburk »

Det är inte reguljära uttryck, utan något som kallas "Parameter Expansion". Kolla i skalets manualblad om du veta exakt hur det fungerar.
Användarvisningsbild
Xappe
Inlägg: 463
Blev medlem: 16 dec 2005, 20:24
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Uppsala

Re: Skript för skärmdumpar

Inlägg av Xappe »

aha, men det liknar reguljära uttryck på nåt vis. :)

Skriptet uppdaterat i första posten.
vanum est vobis ante lucem surgere
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Skript för skärmdumpar

Inlägg av Konservburk »

Xappe skrev:Skriptet uppdaterat i första posten.
Jag ser att du råkat göra ett misstag när det gäller fnuttandet...

Kod: Markera allt

echo "[url=http://serveradress/"$scrn"]"
Detta innebär att "[url=http://serveradress/" och "]" är fnuttat, men inte $scrn. Borde vara så här istället:

Kod: Markera allt

echo "[url=http://serveradress/$scrn]"
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Skript för skärmdumpar

Inlägg av Konservburk »

Sen kan jag också undra varför du ger ett variablenamn till den enkla "$1", men inte till den betydligt mer komplicerade "${1%.*}-thumb.${1##*.}"?

Kod: Markera allt

scrn="$1"
thumb="${1%.*}-thumb.${1##*.}"
Användarvisningsbild
Xappe
Inlägg: 463
Blev medlem: 16 dec 2005, 20:24
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Uppsala

Re: Skript för skärmdumpar

Inlägg av Xappe »

haha, du är då aldrig nöjd. :)
<edit> uppdaterat första posten igen</edit>
vanum est vobis ante lucem surgere
Skriv svar

Återgå till "Guider"