Linux Bash 脚本因语法错误而失败

Jas*_*ery -4 shell-script

试图让这个 bash 脚本工作:

#!/bin/bash

for result in $(cat ./fn7);
for dip1 in $(cat ./fn4);
for dip2 in $(cat ./fn5);
for dip3 in $(cat ./fn6);
for ip in $(seq 0 255);
ifconfig > ./fn1;
cat ./fn1 |grep "broadcast" > ./fn2;
cat ./fn2 |cut -d " " -f10 > ./fn3;
cat ./fn3 |cut -d "." -f1 > ./fn4;
cat ./fn3 |cut -d "." -f2 > ./fn5;
cat ./fn3 |cut -d "." -f3 > ./fn6;
echo $dip1.$dip2.$dip3. > ./fn7;
ping -c 1 $result.$ip > ./results
Run Code Online (Sandbox Code Playgroud)

它失败并出现以下错误:

./IP-Sweeper.sh: line 4: syntax error near unexpected token `for'
./IP-Sweeper.sh: line 4: `for dip1 in $(cat ./fn4);'
Run Code Online (Sandbox Code Playgroud)

roa*_*ima 7

for循环的语法是这样的:

for x in {list}
do
    command...
    command...
done
Run Code Online (Sandbox Code Playgroud)

您的任何循环都do没有done,也没有。

Bash Guide for BeginnersAdvanced Bash Scripting Guide是有关语法和最佳脚本实践的良好参考。