A magia da variável bash interna $ SECONDS
Seu script destaca a variável bash incorporada $SECONDS
, que controla quantos segundos um script bash está sendo executado. Inicialmente, ele começa em zero e a variável de trabalho current
é configurada para esse valor no início do script. Em seguida, o script faz um loop e incrementa current
a cada vez que $ SECONDS é alterado e exibe "1, 2, 3 ... 10" na tela.
Analisando o script bash linha por linha:
#!/bin/bash
informa ao sistema que este é um script bash
current=0
define a variável atual como 0
while [ $SECONDS -le 10 ]; do
Quando o número de segundos que esse script está sendo executado for menor ou igual a 10, faça o seguinte
if [ $SECONDS -eq ${current} ]; then
se o valor da corrente for igual ao número de segundos e, em seguida:
echo ${current}
exibe o valor atual (0 inicialmente, depois 1, 2, 3 ... a 10)
current=$((${current}+1))
incrementa o valor atual
fi
Instrução End of If, necessária para regras de sintaxe
done
end do loop While, necessário para regras de sintaxe
Testando o script
Para testar esse script, copie e cole o texto do OP em um novo arquivo. Para nossos propósitos, chame o arquivo seconds
. Marque o arquivo como executável com o comando:
chmod +x seconds
Em seguida, chame o script bash com o prefixo de diretório atual na frente:
./seconds