plaspkg lite
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 5.730 ]
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
Arch Linux - remover dependências obsoletas
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









