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