2012-09-14 2 views
0

파일을 구문 분석하는 문자열이 있습니다. 하지만 내가 그것을 실행할 때. 오류가 발생합니다. 다음은 코드입니다.문자열을 구문 분석하는 중 예기치 않은 리디렉션이 발생했습니다.

config="/tmp/files.config" 
tftp $TFTP_SERVER_IP -c get "files.config" "$config" 

while read line 
do 
    IFS='=' read -a current_line <<< "$line" 
tftp $TFTP_SERVER_IP -c "${current_line[0]}" "${current_line[1]}" 
done < "$config" 

여기 오류입니다.

line 6: syntax error: unexpected redirection 

어떻게 해결할 수 있습니까?

답변

2
어쩌면

tftp $TPTP_SERVER_IP -c "${line#*=}" "${line%=*}" 

(즉 - 대신 전체 while 몸).

$ ash 
$ line="asdasdsad=123123123123" 
$ echo $line 
asdasdsad=123123123123 
$ echo ${line%=*} 
asdasdsad 
$ echo ${line#*=} 
123123123123 
$ 
+0

' "$ {line % = *}"'는 비어있게됩니다. 하지만 첫 번째 매개 변수는 정확합니다. –

+0

이상하게도, 저에게는 효과적입니다. 예를 들어 편집 할게요. –

+0

괜찮습니다. IFS를 삭제하는 것을 잊어 버렸습니다. 고맙습니다. –