plaspkg
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 4.423 ]
Homepage: http://plasticossj4.wordpress.com
Programa criado para automatizar a execução de aplicativos (xmms, amsn, firefox, etc...) primeiro alimente uma lista com os nomes dos programas, depois execute um script para iniciar estes programas, você pode também ver o contaudo da lista e manipula-la adicionando e removendo alguns nomes desta lista ou ainda você pode finaliza um determinado processo.
#! /bin/bash # inicio do programa, condições de uso #---------------------------------------------------------- # apresenta o programa e as opções do menu #---------------------------------------------------------- if [ $# != 0 ]; then echo echo " ERRO:" echo " O Pacote 'plaspkg' não aceita" echo " Parametro inseridos diretamente" echo " da linha de comando" echo " Saindo Agora" && sleep 3 echo clear exit fi echo echo " ******* Bem vindo ao programa 'plaspkg versão 0.1'*******" echo " * *" echo " * Escrito por Reinaldo Marques de Lima (Plastico) *" echo " * Este programa é de codigo aberto e livre para ser *" echo " * alterado de acordo com as nercessidades de cada *" echo " * usuario. *" echo " * *" echo " * ***{[( Atenção )]}*** *" echo " * *" echo " * Se esta for a primeira vez que você está usando o *" echo " * programa, convem ler o conteudo da Opção 6 ( Ajuda ) *" echo " * e logo em seguida inserir os primeiros dado com a *" echo " * Opção 2 ( plasadd ). *" echo " * *" echo " *********************************************************" echo menu() { echo " Opções: " echo echo " Digite: " echo " 1 - Para 'plassee'" echo " 2 - Para 'plasadd'" echo " 3 - Para 'plasall'" echo " 4 - Para 'plasrm'" echo " 5 - Para 'plaskill'" echo " 6 - Para Ajuda" echo " 7 - Para Sair" echo echo " Escolha uma opção: " echo read OPCAO if [ $OPCAO -lt 1 ] || [ $OPCAO -gt 7 ]; then # if [ $OPCAO -ne 1 || 2 || 3 || 4 || 5 || 6 || 7 ]; then echo echo " Parametro invalido, saindo agora" echo sleep 2 clear exit fi funcao.OPCAO } # segunda parte, inclui cada programa nas funções #---------------------------------------------------------- # comando 'case' para direcionar a opção do menu #---------------------------------------------------------- funcao.OPCAO() { case $OPCAO in 1) plassee; menu; ;; 2) plasadd; menu; ;; 3) plasall; ;; 4) plasrm; menu; ;; 5) plaskill; menu; ;; 6) ajuda; menu; ;; 7) sair; ;; esac } # terceira parte, rotinas #---------------------------------------------------------- # plassee: opção 1 #---------------------------------------------------------- # mostra na tela as ocorrencias contidas em 'plasall.txt' #---------------------------------------------------------- plassee() { MOSTRA=`cat plasall.txt` echo echo " O conteudo da Lista é:" echo for i in ${MOSTRA[*]}; do echo $i done echo echo " Voltando ao Menu" echo sleep 5 clear unset MOSTRA } # plasadd: opção 2 #---------------------------------------------------------- # alimenta uma lista de aplicativo para serem iniciados #---------------------------------------------------------- plasadd() { echo echo " Digite os nomes dos programas: " read PROGRAMAS ARQUIVO="plasall.txt" for i in ${PROGRAMAS}; do if ! grep -w ${i} $plaspkg.bsh > /dev/null; then echo ${i} >> $ARQUIVO echo " '$i' cadastrado em 'plasall.txt'." else echo " Argumento '$i' já existe na lista." fi done echo " Voltando ao menu" && sleep 5 && clear echo unset PROGRAMAS unset ARQUIVO } # plasall: opção 3 #---------------------------------------------------------- # executa tudo que estiver listado em 'plasall.txt' #---------------------------------------------------------- plasall() { LISTA=`cat plasall.txt` echo " Iniciando a Lista de execução" && sleep 3 echo for i in ${LISTA}; do if [ `ps -ef|grep $i | wc -l` -gt 1 ]; then echo "Aplivativo $i ja está em execução." echo else echo "iniciando aplicativo $i" echo $i & fi done echo echo "Fim da Lista de execução, por favor tecle ENTER para sair." echo exit unset LISTA } # plasrm: opção 4 #---------------------------------------------------------- # retira um nome de aplicativo da lista em 'plasall.txt' #---------------------------------------------------------- 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 " Voltando ao menu" && sleep 5 && clear echo else sed "/$PROGRAMA/d" $ARQUIVO > .tmp cat .tmp > $ARQUIVO rm -f .tmp echo echo " O argumento $PROGRAMA foi removido da lista" echo " Voltando ao menu" && sleep 5 && clear echo fi unset ARQUIVO unset PROGRAMA unset TESTE } # plaskill: opção 5 #---------------------------------------------------------- # mata processos buscando o PID #---------------------------------------------------------- plaskill() { KILL="/bin/kill" 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 " Saindo do Programa" && sleep 5 && exit 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 " Voltando ao menu" && sleep 5 && clear echo elif [ `ps -ef|grep $i | wc -l` -lt 2 ]; then echo echo " aplicativo não esta rodando ou nome esta errado" echo " Voltando ao menu" && sleep 5 && clear echo else JOB=`ps -ef|grep $i | awk {'print $2'} | head -1` $KILL $JOB echo echo "O processo $JOB referente ao aplicativo $i foi finalizado" echo fi done unset KILL unset JOB unset PROCESSO } # ajuda: opção 6 #---------------------------------------------------------- # explicação basica de como usar o programa #---------------------------------------------------------- ajuda() { echo " *************************************************" echo " * *" echo " * Ajuda do Programa 'plaspkg' *" echo " * *" echo " * Este programa foi criado para automatiza *" echo " * a execução de alguns programas, por exemplo *" echo " * ( amsn, firefox, xmms) ou qualquer outro *" echo " * programa de sua escolha. *" echo " * *" echo " * Escolha uma das opções do menu para uma *" echo " * determinada função: *" echo " * *" echo " * 1) plassee - mostra na tela o conteudo do *" echo " * arquivo 'plasall.txt' que é a lista de *" echo " * execução de programas. *" echo " * *" echo " * *" echo " * 2) plasadd - adiciona aplicativos a uma *" echo " * lista de execução, essa lista será usada *" echo " * pelo 'plasall' para executar esses *" echo " * aplicativos. *" echo " * Obs.: Se for a primeira vez que você *" echo " * estiver usando essa opção, pode aparecer *" echo " * uma mensagem de erro dizendo que o arquivo *" echo " * 'plasall.txt' não foi encontrado, mas isso *" echo " * acontece somente na primeira vez, e depois *" echo " * o proprio programa ja cria ele, se caso *" echo " * você quiser evitar isso, basta criar no seu *" echo " * home este arquivo; *" echo " * *" echo " * *" echo " * 3) plasall - executa todos os aplicativos *" echo " * que estiverem listados no arquivo plasall.txt *" echo " * e depois sai do programa; *" echo " * *" echo " * *" echo " * 4) plasrm - simplesmente tira da lista os *" echo " * aplicativos que forem digitados ( faz o *" echo " * inverso da opção plasadd); *" echo " * *" echo " * *" echo " * 5) plaskill - busca processos pelo numero *" echo " * e da um kill no processo, serve para todos *" echo " * os processos, menos para o X ;) e sai do *" echo " * programa. *" echo " * *" echo " *************************************************" echo echo " Voltando para o menu em 1 minuto!!! " && sleep 60 && clear echo } # sair: opção 7 #---------------------------------------------------------- # esse não é dificil entender #---------------------------------------------------------- sair() { echo echo " Saindo do programa..." echo " Até logo. " && sleep 2 echo clear exit } menu
Redimensionador automático de imagens
Instalador automatizado SAMBA 4 AD e File Server CentOS 7
Mostrando informações sobre conexões ppp dos clientes
Tabela do Campeonato Brasileiro Direto no Terminal
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Tentando instalar o Ekattor School no xampp (5)
Definir tempo limite para acesso ssh (4)
Problema instalação do sige software gestão escolar script gratuito (0)
[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