2013-04-19 1 views
0

안녕하세요 내가 가진의 스크립트가 시작 있지만 실행에 오류를 보여주는 왜하지 않습니다 여기에 비지 박스 네트워크 구성 스크립트 오류

#!/bin/sh 

# Starting the network interface 

PATH="/sbin:/bin:/usr/bin:/usr/sbin" 


FILENAME="/etc/ipconf" 
count=0 

while read LINE 
do 
    ipValues[count]=$(echo $LINE | awk -F'=' '{print $2}') 
    count=`expr $count + 1` 
done < $FILENAME 

echo "Setting up IP Address" 
ifconfig eth0 up 
ifconfig eth0 ${ipValues[0]} netmask ${ipValues[1]} 
echo "IP :: ${ipValues[0]} SUBNET MASK :: ${ipValues[1]}" 
route add default gw ${ipValues[2]} 
echo "Default Gateway :: ${ipValues[2]}" 

echo "Network configured properly" 

exit 0 

내 ipconf 파일입니다

IPADDRESS=192.168.1.13 
SUBNETMASK=255.255.255.0 
GATEWAY=192.168.1.220 

그리고 여기 내 스크립트 내 스크립트 라인 ifconfig eth0 ${ipValues[0]} netmask ${ipValues[1]}에 제동

ipValues[count]=192.168.1.13 Not found 
ipValues[count]=255.255.255.0 Not found 
ipValues[count]=192.168.1.220 Not found 
Setting up IP Address 
Line 20 syntax error: Bad substitution 

에러입니다. 이 배열 할당이 올바른지 또는 비지 박스 스크립트가 다른 접근 방식을 필요로합니까?

답변

1

맞아요, busybox는 스크립트의 배열 구문을 지원하지 않습니다.

값을 설정하려면

eval ipValues$count=$(echo $LINE | awk -F'=' '{print $2}') 

사용할 수 있습니다 및

ifconfig eth0 ${ipValues0} netmask ${ipValues1} 
echo "IP :: ${ipValues0} SUBNET MASK :: ${ipValues1}" 
route add default gw ${ipValues2} 
echo "Default Gateway :: ${ipValues2}" 
+0

한 덕분에 변수를 읽을 수 있습니다. 비지 박스는 재를 사용합니다. –