Я хочу, чтобы он выглядел так, как будто я связывался с кучей IP-адресов, и он прекрасно работает до третьей строки в коде, и я хочу иметь возможность это исправить. Также 4 нижние строки не работают.
Так что это в основном то, что я получил до сих пор:
for((i=0;i<=100000000;i++));
do echo "Request #" $i " returned ip-adress " [$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256))];
if["$i" = "100000000"]
do echo "All ip-adresses have been stored in local hard drive." -$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256)).$((RANDOM%256));
if["$i" = "100000000"]
do echo [Process Completed];
done
terminal
script
command-line
Ричард
источник
источник
Ответы:
Два вопроса:
Вам нужно пробел между «if
[» и «[
числовая оценка
]» для правильного выполнения.
Логический синтаксис неверен.
if
х ;then
(и только потом) у ;else
z ;fi
;done
,Else
не является обязательным, но вы не можете объявить два одинаковыхif
утверждения следующим образом:if
х ,then
у .if
х ,then
з .Это не имеет никакого логического смысла. С другой стороны:
if
х ,then
у & г делает.Тем не менее, вот что вы ищете:
Который при сохранении в виде скрипта
test.sh
возвращает следующее:источник
Не знаю, чего вы здесь пытаетесь достичь, но делать тест на условие выхода, оставаясь внутри цикла, не обязательно:
Синтаксис
if ... then ... else
(если вам это нужно для чего-то другого) на самом делеисточник