plaspkg lite
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 5.689 ]
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
Programs -- Script Simples e limitado pra instalação de arquivos
Obtém fotos de uma Câmera Digital organizando em Subdiretórios e Renomeando
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problemas com Driver NVIDIA (0)
Programa fora de escala na tela do pc (19)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









