plaspkg lite
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 5.507 ]
Homepage: http://plasticossj4.wordpress.com
uma outra versão do programa "plaspkg" que ao inves de abrir um menu as opções são selecionadas diretamente da linha de comando...
#! /bin/bash ############################################################## # # # plaspkg_lite wrote by Reinaldo Marques de Lima (Plastico) # # criação iniciada em: 10/2005 # # concluido em: em curso # # ultima atualização: 24/10/2005 # # descrição: # # pacote de scripts para automatizar a execução de programas # # roda aplicativos de uma lista, inclui e exclui aplicativos # # da lista,mostra o conteudo da lista e mata processos que # # estejam travados. # # # ############################################################## # # # A mesma versão do pacote 'plaspkg' sem a opção de menu, # # ao inves disto aceita opções diretamente da linha de # # comando. # # # ############################################################## # primeira parte, ajuda do programa #-------------------------------------------------------- if [ $# -lt 1 ]; then echo echo " Parametro invalido: " echo " Para ajuda digite plaspkg_lite.bsh --help" echo elif [ $1 = --help ]; then echo echo " *********** Ajuda do programa 'plaspkp_lite' ********** " echo " * * " echo " * Programa criado para automatizar a execução de * " echo " * aplicativos (xmms, amsn, firefox, etc...) primeiro * " echo " * alimente uma lista com os nomes dos programas, * " echo " * depois execute um script para iniciar estes * " echo " * programas, você pode também ver o contaudo da lista * " echo " * e manipula-la adicionando e removendo alguns nomes * " echo " * desta lista ou ainda você pode finaliza um * " echo " * determinado processo. * " echo " * As opções são: * " echo " * * " echo " * 1 (plassee) Para ver o conteudo da lista. * " echo " * 2 (plasadd) Para adicionar nomes a lista. * " echo " * 3 (plasall) Para iniciar os Programas da lista. * " echo " * 4 (plasrm) Para removar nomes da lista. * " echo " * 5 (plaskill) Para 'Matar' os Programas ou outro * " echo " * processo qualquer. * " echo " * * " echo " * Escolha uma das opções. * " echo " * * " echo " * execute 'plaspkg_lite.bsh [opção desejada]' * " echo " * * " echo " ******************************************************* " echo else OPCAO=$1 fi funcao.OPCAO() { case $OPCAO in 1) plassee; ;; 2) plasadd; ;; 3) plasall; ;; 4) plasrm; ;; 5) plaskill; ;; esac } # plassee: opção 1 #---------------------------------------------------------- # mostra na tela as ocorrencias contidas em 'plasall.txt' #---------------------------------------------------------- plassee() { echo echo " *** Opção 1 ( plassee ) ***" MOSTRA=`cat plasall.txt` echo echo " O conteudo da Lista é:" echo for i in ${MOSTRA[*]}; do echo $i done echo unset MOSTRA } # plasadd: opção 2 #---------------------------------------------------------- # alimenta uma lista de aplicativo para serem iniciados #---------------------------------------------------------- plasadd() { echo echo " *** Opção 2 ( plasadd ) ***" echo echo " Digite os nomes dos programas: " read PROGRAMAS ARQUIVO="plasall.txt" for i in ${PROGRAMAS}; do if ! grep -w ${i} $plaspkg_lite.bsh > /dev/null; then echo ${i} >> $ARQUIVO echo " '$i' cadastrado em 'plasall.txt'." else echo " Argumento '$i' já existe na lista." fi done unset PROGRAMAS unset ARQUIVO } # plasall: opção 3 #---------------------------------------------------------- # executa tudo que estiver listado em 'plasall.txt' #---------------------------------------------------------- plasall() { LISTA=`cat plasall.txt` for i in ${LISTA}; do if [ `ps -ef|grep $i | wc -l` -gt 1 ]; then echo "Aplivativo $i ja está em execução." else echo "iniciando aplicativo $i" $i & fi done echo "Fim da Lista de execução, digite ENTER para sair." exit unset LISTA } # plasrm: opção 4 #---------------------------------------------------------- # retira um nome de aplicativo da lista em 'plasall.txt' #---------------------------------------------------------- plasrm() { echo echo " *** Opção 4 ( plasrm ) ***" echo echo " Digite o programa que será removido da lista:" read PROGRAMA ARQUIVO="plasall.txt" TESTE=`grep $PROGRAMA plasall.txt` if [ ! $TESTE ]; then echo echo " Argumento $PROGRAMA não existe na lista" echo else sed "/$PROGRAMA/d" $ARQUIVO > .tmp cat .tmp > $ARQUIVO rm -f .tmp echo echo " O argumento $PROGRAMA foi removido da lista" echo fi unset ARQUIVO unset PROGRAMA unset TESTE } # plaskill: opção 5 #---------------------------------------------------------- # mata processos buscando o PID #---------------------------------------------------------- plaskill() { KILL="/bin/kill" echo echo " *** Opção 5 ( plaskill ) ***" echo echo " Digite o nome do processo que voce quer matar: " read APLICATIVO1 echo echo " Voce quer matar mais algum processo? (s/n) " read RESPOSTA if [ $RESPOSTA != "s" ] && [ $RESPOSTA != "n" ]; then echo echo " ERRO: escolha somente (s) ou (n)" echo fi if [ $RESPOSTA = s ]; then echo echo " digite: " read APLICATIVO2 PROCESSO=($APLICATIVO1 $APLICATIVO2) else PROCESSO=($APLICATIVO1) fi for i in ${PROCESSO[*]}; do if [ $i = X ]; then echo echo " ts ts, fazendo caca!!!" echo elif [ `ps -ef|grep $i | wc -l` -lt 2 ]; then echo echo " aplicativo não esta rodando ou nome esta errado " echo else JOB=`ps -ef|grep $i | awk {'print $2'} | head -1` $KILL $JOB echo echo "O processo $JOB referente ao aplicativo $i foi fin alizado" echo fi done unset KILL unset JOB unset PROCESSO } funcao.OPCAO
Busca e copia arquivos renomeando-os conforme a máscara
apt-fast melhorado e empacotado
Instalação do Java Runtime Environment em distros Debian-like
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta