Pular para o conteúdo

plaspkg lite

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...
Reinaldo Marques de Lima reimlima
Hits: 5.851 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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...
Download plaspkg_lite.bsh Enviar nova versão

Esconder código-fonte

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

Screenshot script

backup Firebird em DVD

diskSpace - acha os dez maiores gastadores de espaço em disco

Personalizando o seu shell com bashrc_dahora

Script de logon

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.