Alavanque uma construção de looping for no estilo C:
#!/bin/bash
for ((x=1; x<1000000; x++)); do
curl -o index.html https://localhost/2389
done
Em ((x=1; x<1000000; x++)) :
-
x=1inicializaxa 1 -
x<1000000é a condição, o loop será executado contanto quexseja menor que 1000000 -
x++incrementaxadicionando 1 após cada execução de loop
Você tem alguns erros de sintaxe:
-
Para se referir ao valor de uma variável, você precisa de
$variable, isto é, colocar$na frente, e quase sempre é desejado ter uma citação em torno disso para evitar a divisão de palavras e a expansão glob:"$variable" -
Não pode haver nenhum espaço em branco em torno de
=ao declarar variáveis, s oa = 1000000está errado. Você precisa dea=1000000 -
[ x < a]: aqui[não suporta operadores aritméticos como<, você precisa usar-lt(menor que), caso contrário, é apenas uma comparação de cadeia. Você precisa de:[ "$x" -lt "$a" ]. Considere também usar o[[incorporado debashem vez de[. Para operação aritmética, você pode usar((também, isso permitirá que você use todos os operadores aritméticos -
x =x + 1é um erro de sintaxe, você não pode ter espaços em branco em=ao declarar variáveis como mencionado anteriormente, também+ 1apósxnão significa nada e shell o tratará como palavra separada ( comando) com a variávelx=xem seu ambiente. você precisa de(( x=x+1 ))ou((x+=1))ou simplesmente(( x++ )).
Assim, o seu script pode ter a forma final:
#!/bin/bash
# traffic between client and server
x=1
a=1000000
while (( x < a )); do
curl -o index.html https://localhost/2389
(( x++ ))
done