이 스크립트가 "프로그램이 루프를 종료하고 있습니다" 줄에서 루프를 종료하는 원인은 무엇입니까? 문맥에서는 두 번 반복되지만 내가 CM_CHECK_STATUS
있는 곳에 있으면 반복되지 않습니다.
RUNLOG="log"
OUTPUTFILE="output"
LIST=$(/usr/local/bin/sshpass -f $PASSWORD_FILE ssh -o StrictHostKeyChecking=no $USER@$IP "ls -al" 2>> $RUNLOG > $OUTPUTFILE)
PS_VALS=$(cat $OUTPUTFILE)
if [[ $? != 0 ]]
then
echo "There was an error at:" `date` >> $RUNLOG
else
while IFS= read -r line;
do
# Check ls
echo "... $line ..."
CM_CHECK_STATUS=$(/usr/local/bin/sshpass -f $PASSWORD_FILE ssh -o StrictHostKeyChecking=no $USER@$IP "ls -al")
#program is exiting loop here
done <<< "$PS_VALS"
echo "finished"
fi
이를 제거 CM_CHECK_STATUS=$(/usr/local/bin/sshpass -f $PASSWORD_FILE ssh -o StrictHostKeyChecking=no $USER@$IP "ls -al")
하고 루프 외부의 다른 곳에 배치하면 명령이 제대로 작동하고 루프가 예상대로 실행됩니다. 루프에서 이 명령을 사용하는 데 문제가 있습니까?