executar comando em horario exato

1. executar comando em horario exato

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/01/2020 - 00:50h

ola estou com dificuldade de criar um temporizador no shell eu preciso que depois de um determinado tempo ele abra um site mas sempre da algum erro
script:
for (( i=6; i>0; i--)); do sleep 1 & printf " $i \r"; wait; if(i=1); xdg-open https://youtu.be/XUhVCoTsBaM;


  


2. Re: executar comando em horario exato

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/01/2020 - 02:26h

#!/bin/bash

REPET="6"
TEMPO="2m 21s"
URL="https://youtu.be/XUhVCoTsBaM"

for (( i=REPET; i>0; i--)); do
printf " %s\r" "${i}"
xdg-open "${URL}" &
sleep "${TEMPO}"
done


for (( i=6; i>0; i--)); do printf " %s\r" "${i}"; xdg-open "https://youtu.be/XUhVCoTsBaM" & sleep "2m 21s"; done 


O printf usa as variáveis de um jeito especial, você deve informar uma máscara, '%s' nesse caso, e depois ao final as variáveis.

O wait acho inútil nesse caso, e o tempo pensei que deve ser depois que abrir pela primeira vez a sua música..


3. Re: executar comando em horario exato

Adriano Siqueira
adrisiq

(usa KDE Neon)

Enviado em 11/01/2020 - 09:07h

Não entendi a questão do loop, mas aparentemente o que você quer seja algo assim:
#!/bin/bash

URL="https://youtu.be/XUhVCoTsBaM"

MINUTOS=2
SEGUNDOS=21
TEMPO=$(((MINUTOS * 60) + SEGUNDOS))

sleep $TEMPO
xdg-open "$URL" &



4. Re: executar comando em horario exato

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/01/2020 - 09:59h

Dê uma olhada em crons


5. Re: executar comando em horario exato

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/01/2020 - 20:55h

pingu3673 escreveu:

ola estou com dificuldade de criar um temporizador no shell eu preciso que depois de um determinado tempo ele abra um site mas sempre da algum erro
script:
for (( i=6; i>0; i--)); do sleep 1 & printf " $i \r"; wait; if(i=1); xdg-open https://youtu.be/XUhVCoTsBaM;


Boa noite Pingu....
Pelo que observei, quer abrir o site a cada 6 minutos:
ini=$(date +%s);printf "%()T inicio\n"; for (( i=6; i>0; i--));do sleep 1;printf "%()T 0${i}\n" ;done;printf "%()T FIM\nTempo: $(($(date +%s)-ini)) seg\n";

20:32:23 inicio
20:32:24 06
20:32:25 05
20:32:26 04
20:32:27 03
20:32:28 02
20:32:29 01
20:32:29 FIM
Tempo: 6


Sugestão:
while :;do
sleep 6;
printf "%()T Abre o site\n";
xdg-open https://youtu.be/XUhVCoTsBaM
done
É isso.
Vai abrir abas até ...... Travar...... :)
______________________________________________________________________
O seu Script:
for (( i=6; i>0; i--)); do
sleep 1;
printf "$i \r";
done
xdg-open https://youtu.be/XUhVCoTsBaM;[/quote]
Não é necessário o condicional,
Terminando o laço, abre o site.
______________________________________________________________________

Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts