plaspkg lite
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 5.752 ]
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
Instalador de Programas Essenciais
Ordenação de Bytes por Swap Nibble
Script para verificar o Status da bateria
Autenticação automática no Velox
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Instalar Dual Boot, Linux+Windows. (6)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









