Tem como rodar

1. Tem como rodar

Collphi
Collphi

(usa Slackware)

Enviado em 20/11/2018 - 01:17h

Sou novo por aqui, tanto no Linux como no forum, estou com uma dulvida a respeito de uma ideia que tive porém não sei se poder funcionar assim como estou pensando.

Quero entender como fazer para:

* que na função _Inicio() seja exibido o valor que esta sendo incrementado na função _Contrador()

* visto que pelo que entendi até agora, que a chamada _Contador &
faz com que a mesma esteja sendo exceultada em segundo plano.

Espero ter sido claro na explicação.
Como falei no inicio estou começando no linux agora, todas sugestões serão de grande valor para mim, desde já agradeço toda ajuda.


Segue o script

#!/bin/bash

_Inicio()
{
CONT=0
_Contador &
clear
echo
echo
echo
echo -e " Contador =\c"
tput civis
while true
do
echo -n " $CONT"
done
tput cnorm
echo
echo
echo
}
***************************************************************
_Contador()
{
### Enquanto <
while [ $CONT -lt 10 ]
do
let CONT++
sleep 1
done
}
***************************************************************
# Chamada inicial do script
_Inicio


  


2. Re: Tem como rodar

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/11/2018 - 18:21h

Collphi escreveu:

Sou novo por aqui, tanto no Linux como no forum, estou com uma dulvida a respeito de uma ideia que tive porém não sei se poder funcionar assim como estou pensando.

Quero entender como fazer para:

* que na função _Inicio() seja exibido o valor que esta sendo incrementado na função _Contrador()

* visto que pelo que entendi até agora, que a chamada _Contador &
faz com que a mesma esteja sendo exceultada em segundo plano.

Espero ter sido claro na explicação.
Como falei no inicio estou começando no linux agora, todas sugestões serão de grande valor para mim, desde já agradeço toda ajuda.


Segue o script

#!/bin/bash

_Inicio()
{
CONT=0
_Contador &
clear
echo
echo
echo
echo -e " Contador =\c"
tput civis
while true
do
echo -n " $CONT"
done
tput cnorm
echo
echo
echo
}
***************************************************************
_Contador()
{
### Enquanto <
while [ $CONT -lt 10 ]
do
let CONT++
sleep 1
done
}
***************************************************************
# Chamada inicial do script
_Inicio


Boa tarde.
Com a lógica proposta, não "ROLA".
Pois, antes de entrar no laço da função inicio, que mostra o valor de CONT,
é chamada a função Contador, e o script entra no laço ate CONT<10, assim sendo,
nada é mostrado na tela....
Segue sugestão:
#!/bin/bash
CONT=0

Inicio() {
tput civis

while :;do
if (( $CONT < 10 ));then
echo -e " Contador = $CONT"
Contador;continue
else
break
fi
done
tput cnorm
}

Contador() {
let CONT++
sleep 1
}
Inicio

Note que NÃO é necessário utilizar DUAS FUNÇÕES, para realizar tal tarefa....

Att.:
Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts