2014-10-20 2 views
0

작은 스크립트를 테스트하여 autosys에서 여러 작업을 죽일 수 있는지 확인합니다. 하지만 셸 스크립트가 작동하지 않습니다. 여하튼 에코가 시작되기 전에 변수가 표시됩니다. 자식 프로그램에서 두 번째 에코가 실행됩니까?while 루프에서 두 번째 에코가 먼저 표시되는 이유는 무엇입니까?

#!/bin/bash 
    while IFS=read line; do 
    echo "Start" 
    echo "$line" 
    done < "run.dat" 

나는 run.dat의 일부 라인이 run.dat

에 에게 일부 라인을 시작하지만 내가 무엇입니까 것은 run.dat 시작의 일부 라인 입니다 출력이 시작 되고 싶어

좋습니다.

+1

IFS =를 제거하고 read line ...은 올바른 구문입니다. –

+0

코드가 내 컴퓨터에서 작동하지 않습니다. 라인 명령을 찾을 수 없습니다. 오류 –

+0

다음 링크를 확인하십시오 : http://en.kioskea.net/faq/1757-how-to-read-a-file-line-by- 선 –

답변

0

IFS=read을 제거하는 것이 정답이 아닙니다.

IFS=read 사이에 공백을 추가하십시오.

라인은 말한다 whileIFS=readline (즉 IFS 변수가 line 명령의 환경에서 값 read을 가질 때 line 명령 true를 반환하는 동안).

자세한 내용/자세한 내용은 http://mywiki.wooledge.org/BashFAQ/001을 참조하십시오.

관련 문제