>

이 오류를 몇 가지와 함께 더 발견했습니다. 중첩이 잘되지 않거나 for가 올바르게 들여 쓰기되지 않았거나 세미콜론이없는 것으로 생각합니다. 어느 쪽이든 나는 꽤 오랫동안 그것을 알아 내려고 노력했지만 아무 소용이 없습니다. 코드는 다음과 같습니다.

if [ "${runcmd}" != "echo" ]; then
statusmsg "Kernels built from ${kernelconf}:"
kernlist=$(awk '$1 == "config" { print $2 }' ${kernelconfpath}) for kern in ${kernlist:-netbsd}; do
[ -f "${kernelbuildpath}/${kern}" ] && \
echo " ${kernelbuildpath}/${kern}"
done | tee -a "${results}"
fi

build.sh 파일의 일부입니다.

  • 답변 # 1

    var=value cmd ar1

    cmd 경우

    구문이 제대로 작동하지 않는 것 같습니다  for 루프입니다 ( bash 모두)  또는 sh ).

    와이즈 비츠  그리고 sh  다음에 대한 구문 오류를 제공하십시오.

    bash
    
    

    필수적으로하는 일입니다.

    (

    sh : 1 : 대상 : 찾을 수 없음

    bash : 예기치 않은 토큰`do '근처의 구문 오류

    )

    그리고 그 오류는 foo=bar for f in ${foo:-BAR}; do echo $f; done 를 초래하는 것 같습니다  귀하의 경우 오류;

    변수를 별도의 줄에 설정하면 구문 오류가 수정됩니다 :

    couldn't find fi
    
    

    참고 :

    난 그냥 kernlist=$(awk '$1 == "config" { print $2 }' ${kernelconfpath}) for kern in ${kernlist:-netbsd}; do #... 를 쓸 것입니다   "$kernelbuildpath/$kern" 대신  만약 내가 너라면. 컬리에 대한 기술적 이유는 없습니다.

    "${kernelbuildpath}/${kern}"

관련 자료

  • 이전 browser - xidel과 함께 사용자 에이전트를 사용하기위한 구문
  • 다음 쉘 스크립트 예기치 않은 연산자에서 오류를 파악할 수 없습니다