plaspkg
Publicado por Reinaldo Marques de Lima 25/10/2005
[ Hits: 4.679 ]
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
Scrip para criação de arquivos em série
Script para Conexão Automática com Internet a Rádio
Script para limpeza de arquivos temporários em Sabayon Linux
OH MY ALIAS - Crie seu alias facilmente
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
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
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









