Due problemi:
-
Hai bisogno di uno spazio bianco tra "if
[" e "[
valutazione numerica
]" per eseguire correttamente.
-
La sintassi logica non è corretta. if
x ; then
(e solo allora) y ; else
z ; fi
; done
. Else
non è necessario, ma non puoi dichiarare due identiche dichiarazioni if
in questo modo:
-
if
x , then
y .
-
if
x , then
z .
Questo non ha senso logico.
D'altra parte:
Detto questo, ecco quello che stai cercando:
#! /bin/bash
for((i=0;i<=100000000;i++));
do echo "Request #" $i " returned ip-adress “[ $((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256)) ];
if [ "$i" = "100000000" ];
then echo "All ip-adresses have been stored in local hard drive." -$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256)) && echo [Process Completed];
fi
done
Che, se salvato come script, test.sh
restituisce quanto segue:
MacBook-Pro:~ njboot$ test.sh
Request # 0 returned ip-adress [ 0.84.37.68 ]
Request # 1 returned ip-adress [ 169.181.247.217 ]
Request # 2 returned ip-adress [ 164.183.119.15 ]
Request # 3 returned ip-adress [ 191.149.177.224 ]
Request # 4 returned ip-adress [ 84.28.26.92 ]
Request # 5 returned ip-adress [ 54.38.89.138 ]
Request # 6 returned ip-adress [ 86.222.217.2 ]
Request # 7 returned ip-adress [ 57.178.16.75 ]
Request # 8 returned ip-adress [ 26.22.140.245 ]
Request # 9 returned ip-adress [ 222.255.194.118 ]
Request # 10 returned ip-adress [ 188.26.150.197 ]
…
Request # 100000000 returned ip-adress [ 233.66.114.134 ]
All ip-adresses have been stored in local hard drive. -181.167.202.102
[Process Completed]