#!/bin/bash
###
# screenshot.sh
#
# Este script tira screenshots da tela inteira
# ou tela selecionada (por região).
#
# Gera imagem no formato screenshot-data-hora.png.
# Necessário ImageMagick.
#
# Versão 0.1:
# -r (região/janela específica);
# -d (local para salvar as imagens);
# Caso não tenha parâmetros, salva imagem em $HOME
#
# Edsandro Freitas @ 13/10/09 ~ 00:15
###
# Diretório padrão onde as imagens serão salvas
DIR="$HOME"
# Carrega a data e hora atual
# No formato: dd.mm.aa-hh.MM.ss
data_hora=$(date +"%d.%m.%y-%H.%M.%S")
# Se a screen é de uma região ou janela = 1
# senão é tela inteira (= 0)
regiao=0
MENSAGEM_USO="
Uso: $(basename "$0") [OPÇÕES]
OPÇÕES:
-r, --regiao Screenshot de uma janela ou região específica
Se omitido, a imagem será da área de trabalho
-d, --diretorio Local para salvar as screenshots (padrão '$HOME')
Exemplo: /home/usuario/imagens
-a, --ajuda Mostra esta tela de ajuda e sai
-v, --versao Mostra a versão do programa e sai
"
# Trata opções de linha de comando
while test -n "$1"
do
case "$1" in
-a | --ajuda)
echo "$MENSAGEM_USO"
exit 0
;;
-v | --versao)
echo -n $(basename "$0")
# Extrai versão do cabeçalho do programa
grep '^# Versão ' "$0" | tail -1 | cut -d : -f 1 | tr -d \#
exit 0
;;
-d | --diretorio)
shift
DIR="$1"
# Se diretório não existir, crie !
if [ ! -d "${DIR}" ];
then mkdir "${DIR}";
fi
;;
-r | --regiao)
regiao=1
;;
*)
echo Opção inválida: $1
exit 1
;;
esac
# Opção $1 foi processada, pega próxima opçao
shift
done
# Nome do arquivo (diretório + data/hora)
NOME="${DIR}/screenshot-${data_hora}.png"
# Tira a screenshot, da região ou toda tela
if test "$regiao" = "1"
then
# screenshot de uma região ou janela específica
$(import "${NOME}")
else
# screenshot da tela inteira
$(import -window root "${NOME}")
fi
bash
1
#!/bin/bash### # screenshot.sh## Este script tira screenshots da tela inteira# ou tela selecionada (por região).## Gera imagem no formato screenshot-data-hora.png.# Necessário ImageMagick.## Versão 0.1:# -r (região/janela específica);# -d (local para salvar as imagens);# Caso não tenha parâmetros, salva imagem em $HOME## Edsandro Freitas @ 13/10/09 ~ 00:15#### Diretório padrão onde as imagens serão salvasDIR="$HOME"# Carrega a data e hora atual# No formato: dd.mm.aa-hh.MM.ssdata_hora=$(date +"%d.%m.%y-%H.%M.%S")# Se a screen é de uma região ou janela = 1# senão é tela inteira (= 0)regiao=0
MENSAGEM_USO="Uso: $(basename "$0") [OPÇÕES]OPÇÕES: -r, --regiao Screenshot de uma janela ou região específica Se omitido, a imagem será da área de trabalho -d, --diretorio Local para salvar as screenshots (padrão '$HOME') Exemplo: /home/usuario/imagens -a, --ajuda Mostra esta tela de ajuda e sai -v, --versao Mostra a versão do programa e sai"# Trata opções de linha de comandowhile test -n "$1"do case"$1" in
-a | --ajuda)echo"$MENSAGEM_USO"exit 0
;;
-v | --versao)echo -n $(basename "$0")# Extrai versão do cabeçalho do programa
grep '^# Versão '"$0" | tail -1 | cut -d : -f 1 | tr -d \#exit 0
;;
-d | --diretorio)shiftDIR="$1"# Se diretório não existir, crie !if[ ! -d "${DIR}"];
then mkdir "${DIR}";
fi
;;
-r | --regiao)regiao=1
;;
*)echo Opção inválida: $1exit 1
;;
esac# Opção $1 foi processada, pega próxima opçaoshiftdone# Nome do arquivo (diretório + data/hora)NOME="${DIR}/screenshot-${data_hora}.png"# Tira a screenshot, da região ou toda telaif test"$regiao"="1"then# screenshot de uma região ou janela específica$(import "${NOME}")else# screenshot da tela inteira$(import -window root "${NOME}")fi
Hey there! I see you're running Internet Explorer 6.
That's neat. This reminds me of my grandpa. He had this old car that he kept having to fix. He spent so much money on it that he didn't want to get rid of it (even when it stopped running).
0 Comments