[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
=> shell script para mudar background e foreground <=
From: |
Eder Jordam |
Subject: |
=> shell script para mudar background e foreground <= |
Date: |
Fri, 13 Jul 2001 13:22:52 -0300 (EST) |
Boa tarde a todos.
Criei um shell script para alterar o background e o foreground
de um terminal GNU/Linux , mas não estou conseguindo sucesso
no mesmo. O shell script ainda está incompleto, mas já apresenta
bugs.
Quando digito: "azul" e depois "branco" o script funciona, mas se
digito "azul" e depois "preto" ele retorna o fundo como sendo na
cor "azul" e a cor da fonte com sendo "branco".
Se alguem puder me ajudar, agradeceria muito.
Segue abaixo o script:
#!/bin/bash
clear
echo "=========================================================="
echo " Seja bem-vindo ao software Camaleão 1.0.0"
echo " By Éder Jordam - address@hidden"
echo "=========================================================="
echo "Quais as cores que você deseja no seu console GNU/Linux? "
echo "=========================================================="
echo "================== CORES DISPONIVEIS ====================="
echo "========= azul, branco, preto, verde, vermelho ==========="
echo "=========================================================="
echo "Digite na 1º opção a cor do FUNDO do console. EX: preto"
echo "Digite na 2º opção a cor da FONTE do console. EX: verde"
echo ""
read back
read fore
clear
if [ $back = "azul" -o $back = "Azul" -o $fore = "branco" -o $fore = "Branco" ]
then
setterm -store -background blue -foreground white
clear
elif
[ $back = "azul" -o $back = "Azul" -o $fore = "preto" -o $fore = "Preto" ]
then
setterm -store -background blue -foreground black
clear
elif
[ $back = "azul" -o $back = "Azul" -o $fore = "verde" -o $fore = "Verde" ]
then
setterm -store -background blue -foreground green
clear
elif
[ $back = "azul" -o $back = "Azul" -o $fore = "vermelho" -o $fore = "Vermelho" ]
then
setterm -store -background blue -foreground red
clear
elif
[ $back = "branco" -o $back = "Branco" -o $fore = "azul" -o $fore = "Azul" ]
then
setterm -store -background white -foreground blue
clear
else
echo "Você digitou dados inválidos"
fi
#############################################
# #
# shell script desenvolvido por Éder Jordam #
# e-m@il: address@hidden #
# site : http://www.ederjordam.hpg.com.br #
# data : 13/07/2001 #
# #
#############################################
--
Éder Jordam - address@hidden - www.ederjordam.hpg.com.br
LiCQ: 92977489 - Contato: 0xx32-9112-7504 - GNU/Linux Conectiva 6.0
Técnico em Processamento de Dados - GNU/Linux User: 179086
Jordam Consultoria em Informática - Juiz de Fora/MG/Brasil
From (no email address) Fri Jul 13 14:39:32 2001
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-7_2_0); 13 Jul 2001 21:39:32 -0000
Received: (qmail 30812 invoked from network); 13 Jul 2001 21:39:31 -0000
Received: from unknown (10.1.10.26) by l9.egroups.com with QMQP; 13 Jul 2001
21:39:31 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156) by
mta1 with SMTP; 13 Jul 2001 21:39:30 -0000
Received: from burns.conectiva (burns.conectiva [10.0.0.4]) by
perninha.conectiva.com.br (Postfix) with SMTP id 41CA838C82 for
<address@hidden>; Fri, 13 Jul 2001 18:39:28 -0300 (EST)
Received: (qmail 5791 invoked by uid 0); 13 Jul 2001 21:38:21 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with
SMTP; 13 Jul 2001 21:38:21 -0000
Date: Fri, 13 Jul 2001 18:48:03 -0300 (BRT)
X-X-Sender: <verde@verde.distro.conectiva>
To: <address@hidden>
Subject: =?iso-8859-1?Q?guia_de_expressões_regulares_em_português?Message-ID:
<Pine.LNX.4.33L.0107131845000.846-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
X-eGroups-From: # aurelio marinho jargas <address@hidden>
From: # aurelio marinho jargas <address@hidden>
olás.
inspirado no mestre julio, tem mais um carinha aqui que escreveu
alguma coisa &:)
como o tema expressões regulares é útil a quem programa em shell
e usa os sed/awk/grep da vida, aà vai o anúncio.
segundo a lei imaginária que rege os meios eletrônicos isso não
pode ser considerado SPAM desde que seja útil. &:)
-----------------------------------------------------------------------
http://verde666.org/er | http://verde666.org/er | http://verde666.org/er
olás. eu sou o aurélio e escrevi um guia sobre expressões regulares
que vai sair pela editora novatec (http://www.novateceditora.com.br).
a previsão de lançamento é na fenasoft (http://www.fenasoft.com.br),
agora no fim de julho. depois vai estar disponÃvel nas livrarias onde
normalmente tem guias da novatec, ou na página da editora.
é um guia que serve para leigos, iniciantes e iniciados, com
explicações didáticas, exemplos e tabelas-resumo, além de dicas
para uso de expressões regulares em alguns programas e editores de
texto.
as explicações são independentes de aplicativo ou sistema
operacional, podendo ser utilizadas em programas do linux,
windows, o que for.
também está disponÃvel uma versão HTML completa em
http://verde666.org/er para aqueles que querem conhecê-lo, ver seu
conteúdo, consultá-lo.
espero que gostem!
http://verde666.org/er | http://verde666.org/er | http://verde666.org/er
--
s·:(·>(·×^a]×http://www.verde666.org×^[:wq
From (no email address) Fri Jul 13 15:10:18 2001
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-7_2_0); 13 Jul 2001 22:10:17 -0000
Received: (qmail 97090 invoked from network); 13 Jul 2001 22:10:17 -0000
Received: from unknown (10.1.10.142) by l7.egroups.com with QMQP; 13 Jul 2001
22:10:17 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156) by
mta3 with SMTP; 13 Jul 2001 22:10:13 -0000
Received: from burns.conectiva (burns.conectiva [10.0.0.4]) by
perninha.conectiva.com.br (Postfix) with SMTP id 8C59D38CA2 for
<address@hidden>; Fri, 13 Jul 2001 18:36:10 -0300 (EST)
Received: (qmail 5463 invoked by uid 0); 13 Jul 2001 21:35:03 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with
SMTP; 13 Jul 2001 21:35:03 -0000
Date: Fri, 13 Jul 2001 18:44:45 -0300 (BRT)
X-X-Sender: <verde@verde.distro.conectiva>
To: <address@hidden>
Subject: Re: [shell-script] => shell script para mudar background e foreground
<In-Reply-To: <address@hidden>
Message-ID: <Pine.LNX.4.33L.0107131833520.846-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
X-eGroups-From: # aurelio marinho jargas <address@hidden>
From: # aurelio marinho jargas <address@hidden>
olá eder,
a falha está na lógica
@ 13/7, Eder Jordam:
> Quando digito: "azul" e depois "branco" o script funciona, mas se
> digito "azul" e depois "preto" ele retorna o fundo como sendo na
> cor "azul" e a cor da fonte com sendo "branco".
>
> #!/bin/bash
> echo "Digite na 1º opção a cor do FUNDO do console. EX: preto"
> echo "Digite na 2º opção a cor da FONTE do console. EX: verde"
> echo ""
> read back
> read fore
> clear
> if [ $back = "azul" -o $back = "Azul" -o $fore = "branco" -o $fore = "Branco"
> ]
> then
> setterm -store -background blue -foreground white
> clear
aqui você disse:
OU azul OU branco
quando deveria ser
azul E branco
ou seja, mesmo que a segunda cor é preto, como no primeiro
condicional o azul já bateu, o resto não precisa.
tente algo como:
if [ $back = "azul" -o $back = "Azul" ] && [ $fore = "branco" -o $fore =
"Branco" ]
como dica geral, sempre que você tem um
if bla
elif bla
elif bla
...
elif bla
else bla
fi
você pode trocar por um case.
no seu caso, seria massa por numa função, algo como:
RetornaCor(){
local cor
case $1 in
[Pp]reto ) cor=black;;
[Aa]zul ) cor=blue ;;
[Bb]ranco) cor=white;;
[Vv]erde ) cor=green;;
*) echo cor inválida;;
esac
echo $cor
}
note que no case é muito mais fácil você permitir "Verde" e "verde".
aà você só chama a função que converte os nomes do português pro
inglês, assim:
read back
read fore
back=`RetornaCor $back`
fore=`RetornaCor $fore`
e aà só por último, depois de definidas as variáveis, você chama o
programa com os dados certos:
setterm -store -background $back -foreground $fore
clear
> elif
> [ $back = "azul" -o $back = "Azul" -o $fore = "preto" -o $fore = "Preto" ]
> then
> setterm -store -background blue -foreground black
> clear
> elif
> [ $back = "azul" -o $back = "Azul" -o $fore = "verde" -o $fore = "Verde" ]
> then
> setterm -store -background blue -foreground green
> clear
> elif
> [ $back = "azul" -o $back = "Azul" -o $fore = "vermelho" -o $fore =
> "Vermelho" ]
> then
> setterm -store -background blue -foreground red
> clear
> elif
> [ $back = "branco" -o $back = "Branco" -o $fore = "azul" -o $fore = "Azul" ]
> then
> setterm -store -background white -foreground blue
> clear
> else
> echo "Você digitou dados inválidos"
> fi
> #############################################
> # #
> # shell script desenvolvido por Éder Jordam #
> # e-m@il: address@hidden #
> # site : http://www.ederjordam.hpg.com.br #
> # data : 13/07/2001 #
> # #
> #############################################
>
> --
> Éder Jordam - address@hidden - www.ederjordam.hpg.com.br
> LiCQ: 92977489 - Contato: 0xx32-9112-7504 - GNU/Linux Conectiva 6.0
> Técnico em Processamento de Dados - GNU/Linux User: 179086
> Jordam Consultoria em Informática - Juiz de Fora/MG/Brasil
>
>
>
>
> Sair da lista: address@hidden
> Banco Dados: http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Groups é sujeito às regras descritas em:
> http://docs.yahoo.com/info/terms/
>
>
--
s·:(·>(·×^a]×http://www.verde666.org×^[:wq
- => shell script para mudar background e foreground <=,
Eder Jordam <=