![While/Read/Do/Done 루프가 텍스트 파일의 절반을 잘라냅니다.](https://linux55.com/image/100422/While%2FRead%2FDo%2FDone%20%EB%A3%A8%ED%94%84%EA%B0%80%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%A0%88%EB%B0%98%EC%9D%84%20%EC%9E%98%EB%9D%BC%EB%83%85%EB%8B%88%EB%8B%A4..png)
while/read/do/done
200개 이상의 값이 포함된 텍스트 파일에서 루프를 실행하는 bash 스크립트가 있습니다 . 매일 아침 3번 실행되도록 cron에 이 bash 스크립트를 설정했습니다. while 읽기 루프가 텍스트 파일을 한 줄씩 읽는 것을 완료하지 못하는 문제가 있습니다. 아래에 관련 코드를 모두 포함했습니다. 현재 Ubuntu 16.04 LTS 데스크탑을 사용하고 있습니다.
원인은 무엇일까요?
Bash 스크립트 코드:
while read point; do
echo "${point}"
done < /home/admin/site_list
site_list 파일(예):
KBOS
KLWM
KOWD
KPYM
예약 된 일들:
07 6 * * * time /home/admin/all.sh > /home/admin/logs/all1.log1 2>&1
08 10 * * * time /home/admin/all.sh > /home/admin/logs/all1.log2 2>&1
14 13 * * * time /home/admin/all.sh > /home/admin/logs/all1.log3 2>&1
답변1
아마도 stderr를 time /home/admin/all.sh
로그 파일이나 다른 파일로 리디렉션해야 할 것입니다. 내 생각엔 당신이 오류 메시지를 놓친 것 같습니다. crond
일반적으로 모든 stdout 또는 stderr 출력은 cron 작업 소유자에게 이메일로 전송됩니다. 귀하의 정보로는 사용자 ID가 무엇인지 알 수 없습니다. 아마도 루트일 것입니다. 해당 컴퓨터의 이메일에서 보낸 이메일을 확인하고 crond
내용이 무엇인지 확인하세요.