Vamos criar scripts úteis aqui!?

Iniciado por Alyscom, 11 de Dezembro de 2009, 10:32

tópico anterior - próximo tópico

Alyscom

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:
Citarcrie 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
O álcool é o photoshop da vida real
 

Falco90

#1
Um bem simples que eu uso aki é assim:
#! /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.

Holmes

#2
Oi galera,
Gostei da iniciativa e estou aprendendo como construir um script. Qualquer dúvida postarei aqui!
Abs, Viva
EeePC 1008ha - Chakra Linux (Edn) - KDE 4.7.4 - Kernel 3.1.
- Meu Blog: http://holmeslinux.blogspot.com/
- Fundador do Chakra Brasil: http://chakra-linux.com.br/forum

Alyscom

Citação de: Falco90 online 11 de Dezembro de 2009, 18:35
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

Citação de: Falco90 online 11 de Dezembro de 2009, 18:35
Um bem simples que eu uso aki é assim:
#! /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
O álcool é o photoshop da vida real
 

Alyscom

Citação de: Viva online 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
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
O álcool é o photoshop da vida real
 

platao

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



\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Falco90

#6
Citação de: platao online 12 de Dezembro de 2009, 00:02
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:
#!/bin/bash
killall kmess &
killall qbittorent &
killall kget &
killall xchat &
killall choqok


O para Abrir:
#!/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

clcampos

Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

mpmoraes

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...
Ubuntu 12.04 - AMD64 Notebook: Compaq Q40-714br, Intel Core 2 Duo T6600 2.2GHz Memória 4GB HD 500GB DVD-RW

Falco90

#9
Citação de: mpmoraes online 13 de Dezembro de 2009, 09:47
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.

Alyscom

Citação de: Falco90 online 13 de Dezembro de 2009, 18:39
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
O álcool é o photoshop da vida real
 

danpos

@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

#!/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.

Alyscom

danpos realmente muito bom!! :D




[]'s




Alyscom
O álcool é o photoshop da vida real
 

danpos

Citação de: Alyscom online 13 de Dezembro de 2009, 19:51
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.

platao

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?




\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997