plaspkg
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 4.331 ]
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
Cria usuario no linux e no samba
Script para automatizar compilação e instalação do Squid
Mudança automatica de papel de parede no fluxbox
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
ASRock H310CM-HG4 vs Linux (2)
pacotes 32 bit no void 64 bit (1)
erro ao clonar repo github (7)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (26)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba