Fórum Ubuntu Linux - PT

Suporte Técnico => Programação e Scripts => Tópico iniciado por: Alyscom em 11 de Dezembro de 2009, 10:32

Título: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 11 de Dezembro de 2009, 10:32
A intenção é essa mesmo, vamos postar aqui alguns scripts que poderão substituir comandos longos que agente costuma usar no dia-a-dia.

Para criar um script é simples, aqui deixo uma dicá.
Os nomes ficam por conta própria.

Crie um documento de texto, nele você digitara o nome que quiser e com a extensão ".sh" na sua home/!

Então para começar, colocarei dentro do documento de texto apenas os comandos que o script irá executar:
Ex:
Citar
#! /bin/bash
sudo apt-get update
E salvarei como ex:"update.sh" na sua home/!!

Depois no Terminal, digito "ls" para listar tudo que esta na minha home/
Lá você ira ver o arquivo "update.sh" listado
Então vamos torná-lo executável
Citar
chmod +x update.sh
Pronto o arquivo jah é um executável, salve ele em um lugar que você não ira mexer depois, e depois para ficar ainda mais fácil crie um lançador na área de trabalho ou no menu iniciar! "mas lembrem-se tem que ser executado via Terminal"
ex:
Citar
crie um laçador e em Comandos clique no botão navegar, e selecione o arquivo criado "update.sh", e em Tipo selecione Aplicativo no terminal
pronto, se quiser mude o icone e deixe um de seu gosto!

Se quiser executá-lo direto pelo Terminal
Citar
./update.sh

Esse script que criei foi para substituir comando apt-get update, ao invés de digitar no terminal toda hora, bastei dar "2" clics!! ;)

Bem, por enquanto é só.

Alguém aí tem alguma idéia bacana??


[],s


Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Falco90 em 11 de Dezembro de 2009, 18:35
Um bem simples que eu uso aki é assim:
Código: [Selecionar]
#! /bin/bash
sudo apt-get update && sudo apt-get install -y gimp soundkonverter kiso kmess visualboyadvance-gtk mupen64plus stardict kget xchat qbittorrent choqok

O && é pra ele usar o próximo comando quando terminar de processar o anterior. O -y depois do install é pra ele ir logo instalando sem perguntar nada.

Uso esse script pra instalar os programas que eu costumo usar, mas vc pode colocar qualquer programas no lugar desses que tão ai. Como ele tem o sudo que precisa de senha, executo pelo terminal.
E pelo que eu observei aki no meu Ubuntu 9.10, se vc colocar isso na primeira linha do arquivo de texto: #! /bin/bash , não precisa colocar .sh no nome do arquivo.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Holmes em 11 de Dezembro de 2009, 19:34
Oi galera,
Gostei da iniciativa e estou aprendendo como construir um script. Qualquer dúvida postarei aqui!
Abs, Viva
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 11 de Dezembro de 2009, 21:18
E pelo que eu observei aki no meu Ubuntu 9.10, se vc colocar isso na primeira linha do arquivo de texto: #! /bin/bash , não precisa colocar .sh no nome do arquivo.
Eu também tinha notado isso, só não falei antes porquê tive medo de estar errado! ;D

Um bem simples que eu uso aki é assim:
Código: [Selecionar]
#! /bin/bash
sudo apt-get update && sudo apt-get install -y gimp soundkonverter kiso kmess visualboyadvance-gtk mupen64plus stardict kget xchat qbittorrent choqok

O && é pra ele usar o próximo comando quando terminar de processar o anterior. O -y depois do install é pra ele ir logo instalando sem perguntar nada.

Uso esse script pra instalar os programas que eu costumo usar, mas vc pode colocar qualquer programas no lugar desses que tão ai. Como ele tem o sudo que precisa de senha, executo pelo terminal.

esse seu script foi uma boa dica, valeu por compartir ele aqui neste tópico!


[]'s


Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 11 de Dezembro de 2009, 21:27
Oi galera,
Gostei da iniciativa e estou aprendendo como construir um script. Qualquer dúvida postarei aqui!
Abs, Viva
Opá.... Beleza?
Então com esses scripts não tem mistério, tenho certeza que você irá achar conteudo de grande ajuda no Google ou até mesmo aqui no Fórum! ;)

Criei este tópico afim de ajudar os que não gostam de estar toda hora digitando la no terminal!


[]'s



Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: platao em 12 de Dezembro de 2009, 00:02
Quando inicializo o meu Ubuntu ele e meio "locão" vai colocando os programas na area de notificação de qualquer jeito as vezes o aplicativo de data e hora fica no meio dos outros mesmo colocando a opção de bloquear entao fiz um script simples para inicializar os programas que eu quero na ordem e no tempo que eu quero que apareçam.

abro o terminal e digito por exemplo:

gedit .pidgin-start

e coloco esse conteudo nele

#!/bin/bash
sleep 20 && pidgin

e depois vo la em aplicativos de sessao e adicionar e em procurar e vo la na home onde esta o script (control + h) e adiciono ele na inicialização.

pronto acabou a zona na hora do inicio da sessao.

e um para poder usar a minha web cam integrada no skype

#!/bin/sh
export XLIB_SKIP_ARGB_VISUALS=1
skype



Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Falco90 em 12 de Dezembro de 2009, 00:19
e coloco esse conteudo nele

#!/bin/bash
sleep 20 && pidgin

e depois vo la em aplicativos de sessao e adicionar e em procurar e vo la na home onde esta o script (control + h) e adiciono ele na inicialização.

pronto acabou a zona na hora do inicio da sessao.

Interessante, sinto que sera util pra mim.

A internet aki é um pouco lenta, as vezes fica difícil jogar online, pra melhorar essa situação eu fecho tdos os programas que usam internet e downloads, como são vários clients de msn/twitter/irc eu criei um script pra fechar tudo e outro para abrir depois de terminar de jogar.

O para Fechar:
Código: [Selecionar]
#!/bin/bash
killall kmess &
killall qbittorent &
killall kget &
killall xchat &
killall choqok

O para Abrir:
Código: [Selecionar]
#!/bin/bash
kmess &
qbittorent &
kget &
xchat &
choqok
Esses são os programas que eu uso, podem ser substituídos pelos que vc usa.

Salvei eles com nome de "Fechar" e "Abrir" e coloquei na pasta /bin pra virarem comandos. O nome deles é Fechar e Abrir, mas como o alt+F2 completa o nome automaticamente eu só digito F pra fechar e A pra abrir.

Comandos:
killall -> Fecha o programa na hora("Mata" o programa)
& -> Não espera o comando anterior terminar pra começar o próximo
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: clcampos em 13 de Dezembro de 2009, 01:12
Movido para Programação e Scripts.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: mpmoraes em 13 de Dezembro de 2009, 09:47
Acho a intenção muito boa, só me pergunto sobre a ocorrência de redundâncias.
Como exemplo vou aproveitar o script que foi feito para atualização dos repositório, para os mais "chegados": apt-get update
Acredito ser desnecessário um script como esse, já que na interface gráfica temos em Sistema > Administração > Gerenciador de Atualizações, que faz a mesma coisa e algo mais, pois ainda possibilita o apt-get upgrade.
Outro pondo que considero de grande valia e colocar um script "explicativo", como vemos nos arquivos de configuração dos pacotes.
Aí, além de facilitarmos a vida dos usuários com coisas úteis, ainda podemos "ensinar" para que serve cada coisa e como interpretar os comandos.
Fica aí minha sugestão...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Falco90 em 13 de Dezembro de 2009, 18:39
Outro pondo que considero de grande valia e colocar um script "explicativo", como vemos nos arquivos de configuração dos pacotes.
Aí, além de facilitarmos a vida dos usuários com coisas úteis, ainda podemos "ensinar" para que serve cada coisa e como interpretar os comandos.
Fica aí minha sugestão...
Até concordo com vc, pois poupa a pessoa de procurar o significado de algo que ela queira em outro lugar.

Mas o que acho mais importante aki é a criatividade, usar essa liberdade para fazer algo que facilite nossa vida. Podemos tanto usar algo que outra pessoa fez, como ter uma idéia olhando o que ela fez.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 13 de Dezembro de 2009, 18:52
Até concordo com vc, pois poupa a pessoa de procurar o significado de algo que ela queira em outro lugar.

Mas o que acho mais importante aki é a criatividade, usar essa liberdade para fazer algo que facilite nossa vida. Podemos tanto usar algo que outra pessoa fez, como ter uma idéia olhando o que ela fez.
Tirou as palavras da minha boca!! ;)



[]'s



Alyscom
Título: [batch-wav2mp3.sh]: converte em lote arquivos WAV (ADPCM) para MP3.
Enviado por: danpos em 13 de Dezembro de 2009, 19:42
@All

Motivação

Fiz esse script para converter arquivos WAV de um gravador de áudio digital (usado para gravar as aulas da faculdade) para MP3 (pedido de uma amiga, que queria ouvir as aulas em seu telefone  ;D ). Ocorre que o formato do dispositivo é ADPCM, codec incompatível com vários players (soft e hard), daí a motivação de fazer o script.

Código

Código: [Selecionar]
#!/bin/bash
#===============================================================================
#
#          FILE:  batch-wav2mp3.sh
#
#         USAGE:  ./batch-wav2mp3.sh
#
#   DESCRIPTION:  It converts wav files to mp3 files (batch conversion)
#
#       OPTIONS:  ---
#  REQUIREMENTS:  mplayer, sox and lame
#          BUGS:  ---
#         NOTES:  ---
#        AUTHOR:  Danilo Cai M Marques (), danpos_at_google_mail
#       COMPANY:  Danpos Home Corp.
#       VERSION:  1.0
#       CREATED:  03-11-2009 00:24:50 BRST
#      REVISION:  2
#===============================================================================

clear

# Some initial parameters

[ -d "/tmp/WAV2MP3" ] && rm -rf "/tmp/WAV2MP3" # empty if previously there was.
[ -d ${HOME}/MP3CONVERTED ] || mkdir ${HOME}/MP3CONVERTED

DIRTEMP=/tmp/WAV2MP3; mkdir /tmp/WAV2MP3 # creating a temporary directory
MP3OUT=${HOME}/MP3CONVERTED
COUNT=0

echo -e "**+++++++++++++++++++++++++++++++++++++++++++++++"
echo -e "** batch-wav2mp3 is a bash script which does the"
echo -e "** batch conversion from a bunch of WAV (ADPCM)"
echo -e "** files to MP3 files"
echo -e "** Danilo C M Marques - version 1.r2 (03/11/2009)"
echo -e "**+++++++++++++++++++++++++++++++++++++++++++++++\n"

for WAV in *.WAV
do
[ -f ${WAV} ] && COUNT=$((COUNT+1)) # Are there *.WAV files?

WAVFILE=`basename ${WAV} .WAV`
NEW_WAV="${DIRTEMP}/${WAVFILE}.wav"
NEW_MP3="${DIRTEMP}/${WAVFILE}.mp3"

mplayer -really-quiet -ao pcm:file="${NEW_WAV}" ${WAV} 2>/dev/null

echo -e "** Checking volume levels for $NEW_WAV\n"
ampl=`sox "${NEW_WAV}" -t wav /dev/null stat -v 2>&1 | grep -v sox:`

echo -e "** Amplifying volume by $ampl to fake a normalize"
echo -e "** and converting $WAVFILE.wav to 16 bit 8000\n"
sox -V0 -v "$ampl" "${NEW_WAV}" -t wav -r 8000 -c 1 -2 -s \
"${NEW_WAV%.wav}.converted.wav"

echo -e "** Now converting ${WAVFILE}.converted.wav to"
        echo -e "** ${WAVFILE}.converted.mp3\n"
lame "${NEW_WAV%.wav}.converted.wav" "${NEW_MP3}" 2>/dev/null

echo -e "** Now copying converted ${WAVFILE}.mp3"
echo -e "** to ${MP3OUT}\n"
cp "${NEW_MP3}" ${MP3OUT}

echo -e "** Now renaming original file\n"
mv "${WAV}" "${WAVFILE}.JT.wav"
clear
done
        echo -e "**+++++++++++++++++++++++++++++++++++++++++++++++"
        echo -e "** batch-wav2mp3 is a bash script which does the"
        echo -e "** batch conversion from a bunch of WAV (ADPCM)"
        echo -e "** files to MP3 files"
        echo -e "** Danilo C M Marques - version 1.r2 (03/11/2009)"
        echo -e "**+++++++++++++++++++++++++++++++++++++++++++++++\n"

[ ${COUNT} -eq "0" ] && echo -e "** No *.WAV files to transcode!\n"
echo -e "** Done!\n"
echo -e "** Clean up temporary directory!!"
rm -rf "${DIRTEMP}"
echo -e "** Done! Finished."
exit 0

Explicação

O script pega todos os arquivos de um diretório com extensão WAV (essa é a extensão gerada pelo gravador) e então faz a transcodificação para MP3 no diretório MP3CONVERTED do $HOME e após modifica o nome e extensão final do arquivo (inserindo um .jt.wav), evitando que o mesmo arquivo seja transcodificado na próxima execução do script (i.e. eu guardo todos os arquivos gravados em um mesmo diretório e nesse eu executo o script cada vez que adiciono novos arquivos, entenderam?).

Nome

Eu o chamo de batch-wav2mp3-v1r2.sh (pois ele faz conversão em lote dos arquivos).

Sds,

Danpos.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 13 de Dezembro de 2009, 19:51
danpos realmente muito bom!! :D




[]'s




Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: danpos em 13 de Dezembro de 2009, 20:34
danpos realmente muito bom!! :D




[]'s




Alyscom

Valeu pelo elogio.  :D ;D

Realmente ele funciona direitinho (pois fiz várias transcodificações nesse período da faculdade). É só ter o bash, mplayer, sox e lame instalados. ;)

Danpos.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: platao em 13 de Dezembro de 2009, 22:10
Moçada aproveitando, mas sem querer ser "pidão" alguem tem algum script que dê um "refresh" nas portas usb? eu explico;

eu tenho um hd externo e se eu reinicializo a maquina com ele ligado ao entrar no sistema ele nao monta....mesmo eu instalando algumas ferramentas para esse fim como o mout-manager,  tem como sem ser no mtab e fstab? só com um script?




Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: raidicar em 13 de Dezembro de 2009, 22:58
Hum, crio tanto script que fica dificil organizar. Vou colocar alguns que criei para usuários do forum.
Backup automatico de uma pasta (/home por exemplo) no pendrive assim que o memso é conectado.
Código: [Selecionar]
#!/bin/bash
CMD="/usr/bin/gnome-mount-old"
UUID="UUID-UUID"
USER="usuario"
LOGDIR="/var/log/pendrive.log"
ORIG="/home/usuario/Documentos"
DEVICE="$@"
DEVICE=${DEVICE##* }
U=`echo "$@" | grep 'u '`
if [ -z "$U" ]; then
      $CMD $@
fi
MYUSER=`whoami`
MNTDIR=`mount | grep $DEVICE | awk '{ print $3 }' | head -1`
if [ "$MYUSER" = "$USER" ]; then
        UUID_DEV=`sudo /sbin/vol_id --uuid $DEVICE`
      if [ "$UUID_DEV" = "$UUID" ]; then
              rsync -Cravzpu --delete "${ORIG}" "${MNTDIR}/backup" 2>&1 >> ${LOGDIR} | zenity --progress --pulsate --auto-close --title="Backup" --text="Transferência de dados em Andamento, AGUARDE."
      fi
fi
if [ ! -z "$U" ]; then
      $CMD $@
fi
Para funcionar é preciso fazer algumas coisas antes, esta tudo explicado passo a passo no link abaixo.
http://ubuntuforum-br.org/index.php/topic,50975.msg298291.html#msg298291

Script para ficar realizar um backup dos dados automaticamente de hora em hora.
Código: [Selecionar]
#!/bin/bash
loop=1
until [ $loop = "0" ]; do
    rsync -Cravzpuq /origem/* /destino/
    sleep 3600
done
Para deixar o script rodando, basta dar o comando nohup script &, Dessa forma, ao fechar o terminal, ele continua rodando.
Mais explicações em http://ubuntuforum-br.org/index.php/topic,47911.msg280984.html#msg280984

Mais rsync:
O cara tinha dentro de uma pasta chamada "originais" centenas de subpastas e dentro de cada subpastas existiam mais subpastas e varios arquivos. Com o comando find + cp, ele retirou de dentro de cada subpasta um arquivo de uma determinada extensão e todos esses arquivos foram parar na raiz de um unico diretório chamado "editados". Após editar essas centenas de arquivos que foram copiados para a pasta "editados", ele precisava voltar cada arquivo editado para o local original, substituindo o arquivo mais antigo. Mas como saber de onde veio cada arquivo que estava na pasta editados? Supondo que esses arquivos fossem *.txt, abaixo segue a resposta.
Código: [Selecionar]
#!/bin/bash
find /originais/ -name *.txt -type f -exec rsync -Cravzpu /editados/*.txt {} \;
Obvio que se forem de outra extensão, bastaria alterar a extensão no comando.
Esse foi um caso raro, mas para quem quer melhorar o conhecimento de manipulação de arquivo em modo texto, é um prato cheio.
Topico com detalhes do funcionamento do comando e da duvida do companheiro. http://ubuntuforum-pt.org/index.php/topic,51629.msg297802.html#msg297802
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: velox256 em 15 de Dezembro de 2009, 14:55
Eu uso esse para converter arquivos mp3 pra wma para caber mais músicas em players de mp3 ou celulares com pouca memória:

Citar
#!/bin/bash
for i in *.mp3
do o=`basename "$i" .mp3`
ffmpeg -y -i "$i" -acodec wmav2 "$o".wma 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$o" --auto-close
done

Ele converte TUDO que é mp3 que estiver na pasta onde o script foi acionado.

Esse aqui converte vídeos mpg, ogg, flv, rm e rmvb para avi:

Citar
#! /bin/sh
cropesq=$(zenity --entry --text "Digite o valor do crop esquerdo"); echo $cropesq
cropdir=$(zenity --entry --text "Digite o valor do crop direito"); echo $cropdir
resol=$(zenity --entry --text "Digite o valor da resolução desejada" --entry-text "160x120"); echo $resol
quad=$(zenity --entry --text "Digite o valor do FPS do vídeo de saída (o mesmo de entrada)" --entry-text "25"); echo $quad
channel=$(zenity --entry --text "Digite se o vídeo é mono (1) ou estéreo (2)" --entry-text "2"); echo $channel
bitrate=$(zenity --entry --text "Digite o valor do bitrate de áudio (11025 - 22050 - 44100" --entry-text "44100"); echo $bitrate
if [ "$2" = "" ]; then
   ffmpeg -i "$1" -croptop 0 -cropbottom 0 -cropleft $cropesq -cropright $cropdir -s $resol -r $quad -ac $channel -ar $bitrate -qmin 3 -qmax 3 $1.avi 2>&1 | zenity --progress --pulsate --title="Convertendo para AVI" --text="$1" --auto-close
fi

Eu os uso no Nautilus Scripts para assim bastar usar o botão direito do mouse/Scripts. Há a opção de também usar o Synaptic pra instalar o pacote nautilus-scripts e ter assim acesso a muitas ações, como abrir como root, converter imagens, vídeos e por aí vai usando o botão direito do mouse.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: rruella em 15 de Dezembro de 2009, 17:11
uma pergunta velox

então wma é mais compacto do que mp3?
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: velox256 em 15 de Dezembro de 2009, 17:47
Olha, realmente não sei dizer, mas pelo que vejo (ou escuto, hehehe) aqui, no meu uso do dia a dia e nos testes que eu fiz e ainda faço, um wma de 64 kbps tem uma resolução de áudio melhor do que o mesmo mp3 também em 64 kbps. Um mp3 de 128 kbps qdo 'reduzido' para 64 kbps também em mp3 não é melhor do que o mesmo mp3 de 128 kbps 'reduzido' para um wma de 64 kbps. Sei que vão aparecer usuários aqui pra contestar isso, falando que "programas de teste e tal" me 'desmentem', mas estou falando da comparação de ouvido.

Quem não tem problema de espaço em celulares ou players de mp3, é lógico que devem usar arquivos mp3 com resolução mínima de 128 kbps e usando VBR (Variable Bit Rate); isso que eu coloquei é apenas pra 'pobre' mesmo (como eu) que não pode ter um cartão de 4Gb pra encaixar no mp4 ou então usa aqueles mp3 players que parecem um supositório, hehehehe...


uma pergunta velox

então wma é mais compacto do que mp3?
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 15 de Dezembro de 2009, 21:26
uma pergunta velox

então wma é mais compacto do que mp3?
wma é mais compacto que mp3. Tanto que wma com a mesma qualidade que um mp3 é um pouco menor. Mas você achar um wma de boa qualidade é raro e os conversores de wma que eu vi em minha vida faziam de pior qualidade que um mp3.

Agora, a pergunta que eu não sei responder: Porque o mp3 se consagrou e o wma não?
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: velox256 em 16 de Dezembro de 2009, 08:07
Experimente fazer o teste, pegue um mp3 de 128 kbps e transforme-o pelo script em um wma de 64 kbps (esse bitrate é o padrão do script) e veja se a qualidade é aceitável, o engraçado é que se vc ripar um cd em wma de 64 kbps a qualidade não fica tão boa qto vc converter direto de um arquivo mp3.


uma pergunta velox

então wma é mais compacto do que mp3?
wma é mais compacto que mp3. Tanto que wma com a mesma qualidade que um mp3 é um pouco menor. Mas você achar um wma de boa qualidade é raro e os conversores de wma que eu vi em minha vida faziam de pior qualidade que um mp3.

Agora, a pergunta que eu não sei responder: Porque o mp3 se consagrou e o wma não?
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 16 de Dezembro de 2009, 09:53
Experimente fazer o teste, pegue um mp3 de 128 kbps e transforme-o pelo script em um wma de 64 kbps (esse bitrate é o padrão do script) e veja se a qualidade é aceitável, o engraçado é que se vc ripar um cd em wma de 64 kbps a qualidade não fica tão boa qto vc converter direto de um arquivo mp3.


uma pergunta velox

então wma é mais compacto do que mp3?
wma é mais compacto que mp3. Tanto que wma com a mesma qualidade que um mp3 é um pouco menor. Mas você achar um wma de boa qualidade é raro e os conversores de wma que eu vi em minha vida faziam de pior qualidade que um mp3.

Agora, a pergunta que eu não sei responder: Porque o mp3 se consagrou e o wma não?
^^
Eu ainda prefiro mp3 porque é um formato universal...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: sboorbou em 16 de Dezembro de 2009, 10:56
O Wma é um padrão fechado do Windows, que como tudo que sai dele, ou é mau documentado ou tem partes "obscuras" na documentação...

O MP3 quando começou era "livre" até certo ponto, só começaram a cobrar por ela após fazer sucesso........
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 16 de Dezembro de 2009, 11:32
O negócio do mp4 ( o formato, não esses dispositivos aleatórios no estilo mpX ) veio para acabar com o mp4, trazendo em si, um formato auto-executável. Só que ele não fez sucesso e acabou virando formato de vídeo (se já não o era antes...)
Esse script é bom, usei ele aqui em casa, ele até deixa com qualidade satisfatória o wma, mas, pra mim não vale a pena. Meu ipod é de 30gb
=D
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 16 de Dezembro de 2009, 18:57
Quem quiser uma melhor qualidade e desempenho pode também usar o formato AAC (http://pt.wikipedia.org/wiki/Advanced_Audio_Coding). ;)



[]'s



Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: velox256 em 16 de Dezembro de 2009, 19:14
Por isso que eu falei:

"Quem não tem problema de espaço em celulares ou players de mp3, é lógico que devem usar arquivos mp3 com resolução mínima de 128 kbps e usando VBR (Variable Bit Rate); isso que eu coloquei é apenas pra 'pobre' mesmo (como eu) que não pode ter um cartão de 4Gb pra encaixar no mp4 ou então usa aqueles mp3 players que parecem um supositório, hehehehe..."


O negócio do mp4 ( o formato, não esses dispositivos aleatórios no estilo mpX ) veio para acabar com o mp4, trazendo em si, um formato auto-executável. Só que ele não fez sucesso e acabou virando formato de vídeo (se já não o era antes...)
Esse script é bom, usei ele aqui em casa, ele até deixa com qualidade satisfatória o wma, mas, pra mim não vale a pena. Meu ipod é de 30gb
=D
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 19 de Dezembro de 2009, 00:43
Copiar & Mover para...

Primeiro Copiar para...

Crie um documento de texto só com o nome "Copiar para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker copy $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora Mover para...

Crie um documento de texto só com o nome "Mover para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker move $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora é só clicar em um item com o botão direito e escolher se quer mover ou copiar ele para algum lugar, muito util!!

Bom.. Acho que é isso! ;D



[]'s



Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 19 de Dezembro de 2009, 00:49
Atalho para...

Crie um documento de texto só com o nome "Atalho para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker link $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora é só clicar em um item com o botão direito e escolher Atalho para..., muito util!!

Bom.. Acho que é isso! ;D



[]'s



Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 19 de Dezembro de 2009, 00:55
Definir imagem como papel de parede

Bem... Como o próprio nome já diz, basta clicar com o direito em cima da imagem e escolher "Definir imagem como papel de parede"

Crie um documento de texto só com o nome "Definir imagem como papel de parede" abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

WALLPAPER=$(gdialog --title "Wallpaper Options" --radiolist "Picture Options:" 60 100 10 1 Wallpaper on 2 Centered off 3 Scaled off 4 Stretched off 2>&1)

if [ $WALLPAPER = "1" ]; then
gconftool-2 --type=string --set /desktop/gnome/background/picture_options wallpaper
gconftool-2 --type=string --set /desktop/gnome/background/picture_filename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
fi
if [ $WALLPAPER = "2" ]; then
gconftool-2 --type=string --set /desktop/gnome/background/picture_options centered
gconftool-2 --type=string --set /desktop/gnome/background/picture_filename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
fi
if [ $WALLPAPER = "3" ]; then
gconftool-2 --type=string --set /desktop/gnome/background/picture_options scaled
gconftool-2 --type=string --set /desktop/gnome/background/picture_filename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
fi
if [ $WALLPAPER = "4" ]; then
gconftool-2 --type=string --set /desktop/gnome/background/picture_options stretched
gconftool-2 --type=string --set /desktop/gnome/background/picture_filename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
fi
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Bom.. Acho que é isso! ;D



[]'s



Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: velox256 em 19 de Dezembro de 2009, 23:31
Não esqueçam que os scripts do Nautilus-scripts precisam de permissão de executável...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 20 de Dezembro de 2009, 15:20
Não esqueçam que os scripts do Nautilus-scripts precisam de permissão de executável...
Obrigado, tava quebrando aqui a cabeça pra fazer funfar...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Cálcio em 24 de Dezembro de 2009, 22:11
Boa noite...
Crei um script com (ajuda da galera daqui do forum e apostilas online) para me facilitar na execução da minha webcam no skype.


Código: [Selecionar]
#! /bin/bash

echo "Deseja executar o script de conficuração da webcam no Skype? [S/N]"
read resp
test "$resp" = "N" && exit

### Renomeia o skype para skype.bkp
mv /usr/bin/skype /usr/bin/skype.bkp

echo "#!/bin/bash" > /usr/bin/skype
echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Permissão para execução
chmod  +x /usr/bin/skype

Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 25 de Dezembro de 2009, 02:34
...

Código: [Selecionar]
#! /bin/bash
### Renomeia o skype para skype.bkp
sudo mv /usr/bin/skype /usr/bin/skype.bkp

### Cria o arquivo skype novo
sudo gedit /usr/bin/skype

#!/bin/bash
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp

### Permissão para execução
sudo chmod  +x /usr/bin/skype


Código: [Selecionar]
### Cria o arquivo skype novo
sudo touch /usr/bin/skype
sudo gedit /usr/bin/skype

Esqueci como fazer para escrever algo no arquivo... Mas, se não me engano:
Código: [Selecionar]
sudo "bla bla bla" > /usr/bin/skype
Espero que seja algo parecido com isso, se não, não entendi sua dúvida.
O "touch" cria um arquivo em branco...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: nemex1975 em 25 de Dezembro de 2009, 08:07
Copiar & Mover para...

Primeiro Copiar para...

Crie um documento de texto só com o nome "Copiar para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker copy $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora Mover para...

Crie um documento de texto só com o nome "Mover para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker move $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora é só clicar em um item com o botão direito e escolher se quer mover ou copiar ele para algum lugar, muito util!!

Bom.. Acho que é isso! ;D



[]'s



Alyscom

Bom dia.

Eu fiz da forma indicada, tornei executável, as abas dos scripts estão no menu do Nautilus, mas ele não copia/move/cria atalho para nada.

Quando clico em um arquivo qualquer com o botão direito e seleciono qualquer das três opções nada acontece.

O menu do Nautilus simplesmente fecha, os arquivos selecionados não são copiados/movidos/criado atalhos e tudo fica como antes.

O que está errado nisso que fiz? Tem funcionado para todos?
Abs.,
Nemex1975
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: velox256 em 25 de Dezembro de 2009, 17:28
Instale os pacotes "gksu" e "gnomesu" que eu acho que funciona, heheheh...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: nemex1975 em 26 de Dezembro de 2009, 06:56
Instale os pacotes "gksu" e "gnomesu" que eu acho que funciona, heheheh...

Bom dia.

O gksu já está instalado, mas "gnomesu" não está nos meus repositórios. Onde eu o consigo? Ele não foi substituído pelo gksudo ou faz a mesma coisa (fonte: http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-17)?
Abs.,
Nemex1975
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: nemex1975 em 26 de Dezembro de 2009, 07:08
Bom dia.

Eu pesquisei aqui no fórum e achei a resposta abaixo para este script.

Dessa forma funcionou, pois eu notei que o velox256 substitui o termo "move" por "mv", que é o código usado no Terminal.

Fiz a mesma coisa, copiei todo o script mudando "mv" para "cp" e também funcionou como "copiar para", sem necessitar instalar o gnomesu.

Qual o código para criar atalhos (link) pelo Terminal? O código é "link" mesmo ou é outro? Seja qual for, no meu caso eu teria de substituir "mv" pelo código de criação de link/atalho e acho que também funcionaria.
Abs.,
Nemex1975

O amigo acima não entendeu a pergunta, há diferenças entre "mover" e "mover para". Vc pode usar um script para criar itens como Copiar Para ou Mover Para, ou usar um programa chamado Nautilus Actions que também faz a mesma coisa. Pra criar os Copiar Para e Mover para, abra o Terminal e digite:

Citar
gedit .gnome2/nautilus-scripts/mover para

No arquivo aberto, copie e cole o seguinte texto:

Citar
#!/bin/bash
#########################################################
#                     #
# This are NScripts v3.5            #
#                     #
# Licensed under the GNU GENERAL PUBLIC LICENSE 3   #
#                     #
# Copyright 2007 - 2008 Christopher Bratusek      #
#                     #
#########################################################

if [[ -x /usr/bin/gksu || -x /opt/gnome/bin/gksu ]]; then
   sudotool="gksu -u root"
elif [[ -x /usr/bin/gnomesu || -x /opt/gnome/bin/gnomesu ]]; then
   sudotool=gnomesu
fi

destination=$(zenity --file-selection --directory --title "Where to move files?")

echo $NAUTILUS_SCRIPT_SELECTED_URIS > ~/.gnome2/temp_move_list

for file in $(cat ~/.gnome2/temp_move_list); do \

   file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g')
   short_file_name=$(echo $file | sed -e 's#.*/##g' -e 's/\%20/\ /g')

   if [[ -w $destination && -a $destination/$short_file_name ]]; then \
      confirm=$(zenity zenity --question --text "Overwrite File $destination/$short_file_name?"; echo $?)
      if [[ $confirm == 0 ]]; then
         mv "$file_name" $destination
         if (( $? != 0 )); then
         zenity --info --text "Something went wrong" --title "Failure"
         fi
      fi
   elif [[ -w $destination ]]; then \
      mv "$file_name" $destination
      if (( $? != 0 )); then
      zenity --info --text "Something went wrong" --title "Failure"
      fi
   elif [[ -a $destination && $sudotool != "" ]]; then
      $sudotool "mv \"$file_name\" $destination"
   else   zenity --info --title "Failure" --text "$destination does either not\nexist or is not writable"
   fi; \
done

rm -f ~/.gnome2/temp_move_list

Salve o arquivo, feche o Gedit e digite no Terminal:

Citar
chmod a+x .gnome2/nautilus-scripts/mover para

Pronto, ao clicar em uma pasta ou arquivo, aparecerá um novo menu chamado Scripts onde vc verá dentro dele o item mover para, é só clicar nele, vc escolhe o destino e pronto. Uma outra forma é vc instalar o pacote nautilus-scripts através do Synaptic.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 26 de Dezembro de 2009, 14:36
...

Qual o código para criar atalhos (link) pelo Terminal? O código é "link" mesmo ou é outro? Seja qual for, no meu caso eu teria de substituir "mv" pelo código de criação de link/atalho e acho que também funcionaria.
Abs.,
Nemex1975

...
Código: [Selecionar]
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
Código: [Selecionar]
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: nemex1975 em 30 de Dezembro de 2009, 20:28

Código: [Selecionar]
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
Código: [Selecionar]
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...

Bom dia.
O script não aceitou o comando ln... tive de colocar ln -s, mas está funcionando.

Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios, só funcionando em diretórios com nomes simples e sem separação (ex.: /home/usuário/Documentos).

O que precisa ser mudado nos scripts para eles conseguirem apontar para um diretório com nome composto?
Abs.,

Nemex1975
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: Alyscom em 31 de Dezembro de 2009, 05:33
Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios
Tente fazer assim (ex.: /media/COPIAS/Programas\ Gerais/) e ver se da certo!! :)



[]'s



Alyscom
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 31 de Dezembro de 2009, 09:49

Código: [Selecionar]
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
Código: [Selecionar]
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...

Bom dia.
O script não aceitou o comando ln... tive de colocar ln -s, mas está funcionando.

Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios, só funcionando em diretórios com nomes simples e sem separação (ex.: /home/usuário/Documentos).

O que precisa ser mudado nos scripts para eles conseguirem apontar para um diretório com nome composto?
Abs.,

Nemex1975
Aproveita também, para mudar o nome do diretórios.
Apesar de funcionar com: "nome\ comportos" fica muito mais fácil se separa-los por um underscore ou um hífen simplismente...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: nemex1975 em 04 de Janeiro de 2010, 08:44
Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios
Tente fazer assim (ex.: /media/COPIAS/Programas\ Gerais/) e ver se da certo!! :)

[]'s

Alyscom

Bom dia Alyscom.

Fazer dessa forma, ou colocar os nomes compostos entre aspas, funciona se eu digitar o comando para mover no Terminal, mas eu gostaria de saber se existe alguma forma de fazer o script já interpretar corretamente o destino do arquivo, da cópia ou do atalho para ficar mais fácil o manuseio, senão aparecerá mensagem de erro o tempo todo.
Abs.,
Nemex1975
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: sboorbou em 15 de Janeiro de 2010, 09:27
Boas?

Alguem poderia me ajudar?

http://ubuntuforum-br.org/index.php?topic=61407.new#new

caso esteja meio confuso, eu posso explicar novamente...........
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: bred81 em 15 de Janeiro de 2010, 16:49
Boas?

Alguem poderia me ajudar?

http://ubuntuforum-br.org/index.php?topic=61407.new#new

caso esteja meio confuso, eu posso explicar novamente...........
Ao invés de usar "find", usa "locate"
Código: [Selecionar]
locate arquivo.txtEle vai te mostrar aonde estão todos os arquivo.txt
Acho que vai continuar criando um monte de entrada pra mesma pasta, mas não custa nada tentar...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: sboorbou em 15 de Janeiro de 2010, 17:32
na verdade, eu estou usando o find para criar uma lista de diretorios, para dentro de cada um deles executar algumas tarefas....

vou testar seu exemplo...
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: niquelnausea em 17 de Janeiro de 2010, 22:00
Esse é meu primeiro script  :P, quem puder melhorar ou colocar novas funções eu agradeço.

Ele converte todos os arquivos mp3 de um diretório para mp3, alterando o tipo de codificação (cbr, abr ou vbr), bitrate (de 32 ate 320kbps) e a frequência (32, 44.1 e 48KHz). Fiz ele por que baixo algumas musicas, e na maioria das vezes elas vem em mp3 192~320kbps, como esculto mp3 apenas no computador, prefiro converte-las para mp3 128kbps (abr) 44.1KHz (boa qualidade com tamanho bem menor).

Exemplo: um mp3 de 3:12min, 320kbps cbr, 44,1KHz estéreo com 7,3mb, apos a conversão para 128kbps abr o tamanho foi para 2,8mb.

Código: [Selecionar]
#!/bin/bash

###################################################################################
##
## nome: converter_mp3.sh
##
## descrição: script para converter todos os arquivos em mp3 de um diretório
## para mp3 com outra qualidade, escolhendo entre cbr, abr e vbr e a frequência,
## trocando o nome de "musica.mp3" para "nova-musica.mp3" na mesma pasta
##
## modo de usar: coloque na pasta que estão os arquivos a serem convertidos,
## digite ./converter_mp3.sh e responda as perguntas
##
## dependências: lame
##
## data: 17/01/2010
##
## versão: 0.1
##
###################################################################################

codificacao=$(zenity --entry --text "Digite o tipo de codificação:\ndigite -b para cbr (taxa de bits constante)\ndigite --abr para abr (taxa de bits media)\ndigite -V para vbr (taxa de bits variavel)\n"); echo $codificacao
bitrate=$(zenity --entry --text "Digite o valor do bitratre:\ndigite 32, 64, 128, 160, 192, 224 ou 320 para cbr ou abr\ne de 0 a 9 para vbr, 0 melhor e 9 pior\n"); echo $bitrate
freq=$(zenity --entry --text "Digite o valor da frequencia:\n32, 44.1 ou 48\npadrão 44.1\n"); echo $freq

for musica in *.{mp3,MP3}
do lame $codificacao $bitrate -q 0 -c -p -m a --resample $freq --strictly-enforce-ISO "$musica" "nova-$musica"
done
Título: [Vamos criar scripts úteis aqui?]: autoglade/nautilus-actions/script bash: cool.
Enviado por: danpos em 23 de Janeiro de 2010, 14:13
@All

Pensando em criar uma pequena GUI que fosse acessada através do menu de contexto no Nautilus, comecei a pesquisar em como usar o zenity (http://live.gnome.org/Zenity) com o nautilus-actions (http://www.grumz.net/?q=taxonomy/term/2/9). Lá vi um artigo sobre o autoglade [1 (http://sourceforge.net/projects/autoglade/),2 (http://dtmilano.blogspot.com/2008/08/introduction-this-article-will-guide.html)], achei-o interessante e fui atrás do tutorial (infelizmente o SF apagou o wiki do developer; no entanto, há uma versão PDF disponível no Google Docs - disponível aqui (https://docs.google.com/fileview?id=0B-LQuHEMta7POTc2NjEyNjktY2MzZi00MWM4LTg2ZWEtZTBhMzQwNGJmMzA5&hl=en)).

Em um super resumo, o que o autoglade faz é carregar uma GUI criada com o Glade3 (importante - o Glade 2 é bem limitado e 'chato' para desenhar a GUI de interesse) dentro de um script bash, com a vantagem de carregar dentro do script os valores atribuídos a determinados widgets automagicamente. Dessa forma, se o script necessitar de uma GUI que tenha mais features do que as fornecidas pelo zenity (http://live.gnome.org/Zenity), vale a pena usar o autoglade [1 (http://sourceforge.net/projects/autoglade/),2 (http://dtmilano.blogspot.com/2008/08/introduction-this-article-will-guide.html)] para carregar a GUI criada no Glade3 e então usá-la no teu script bash. Abaixo eu mostro umas screenshots de um script bash bem simples que eu uso no terminal, que é para impressão em lote (batch print) de documentos criados no OpenOffice. Eu criei o script porque eu precisava às vezes imprimir uma via em uma impressora (ink jet) e a outra via em outra (laser jet). E a idéia de criar uma ação no nautilus foi porque como o script é bem 'tosco' (i.e. sem as configurações de opções - algo do tipo --print impressora, --copias N, como também ter uma rotina com shift para acessar todas as opções, blahblah, sem contar ter que mudar o diretório para a pasta contendo os arquivos, etc), o uso do nautilus-actions tornou-se conveniente para que o próprio aplicativo suprisse essas deficiências, de forma que eu escolho os arquivos, a GUI é então carregada, eu faço as escolhas e pronto, o script processa o desejado (reparem na segunda imagem que as opções dos botões já representam os valores requeridos, que são carregados pelo autoglade automagicamente (logo eu não preciso fazer testes com if para escolher os valores, eu os uso diretamente!).

1 - Ação tornada visível após a seleção dos arquivos
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fs6.tinypic.com%2Fru3ev8.jpg&hash=6a60841d241fe71eb54dcae0c70f1fe95e000e73)

2 - Carregamento da GUI com as opções a serem escolhidas
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fs6.tinypic.com%2F10o40oy.jpg&hash=7448e8eff8623e401f8f945388a3a5e450c97fe2)

Por fim o processamento ocorre sem maiores problemas (nota - como disse, no presente exemplo eu uso um script 'tosco', sem qualquer tratamento de erro, mas isso pode ser feito e até usado o autoglade para gerar uma GUI contendo a mensagem de erro, há previsão na aplicação :) )

Fica aí a dica. ;)

Danpos.
Título: Re: Vamos criar scripts úteis aqui!?
Enviado por: douglassilva em 25 de Janeiro de 2010, 01:45
Pessoal,

preciso da ajuda de vocês para algo que tenho certeza que é extremamente simples, mas que, por minha total ignorância no assunto, está impossível de resolver. Achei esse site http://www.vivaolinux.com.br/dica/Como-imprimir-um-documento-no-formato-de-livro-de-4-paginas-por-folha/ (http://www.vivaolinux.com.br/dica/Como-imprimir-um-documento-no-formato-de-livro-de-4-paginas-por-folha/) que ensina como, com o psbook, se cria livretos. O autor apresenta um script:

Código: [Selecionar]
echo "psbook $1 -s4 | psnup -2 > $2"
psbook $1 | psnup -2 > $2

Tentei entender (repito, sou absolutamente leigo) a partir dos comentários e dos scripts que vocês apresentaram nesse tópico, mas foi inútil. Parece que são dois comandos e que só a primeira linha me interessa (-s4, 4 paginas por folha). $1 e $2 são variáveis de diretório? e é preciso iniciar o script com um "#! /bin/bash" ou algo que o valha?

Queria também saber se é possível o Nautilus-scripts para rodar esse tipo de script e, se sim, qual seria o código que deveria ser salvo no arquivo .sh. Consigo rodar o psbook via terminal, mas esse esquema do Nautilus-scripts facilitaria muito o meu trabalho.

Muitíssimo obrigado!