Linux Bash 스크립트가 구문 오류로 인해 실패합니다.

Linux Bash 스크립트가 구문 오류로 인해 실패합니다.

이 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

다음 오류로 인해 실패합니다.

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

답변1

for루프 구문다음과 같습니다:

for x in {list}
do
    command...
    command...
done

루프에는 또는 가 없습니다 do.done

Bash 초보자 가이드그리고고급 Bash 스크립팅 가이드구문 및 최상의 스크립팅 방법에 대한 좋은 참고 자료입니다.

답변2

do done귀하의 실수는 for 문 뒤에 블록이 없다는 것입니다.

관련 정보