是什么导致我的脚本退出 while 循环

是什么导致我的脚本退出 while 循环

是什么导致该脚本在“程序正在退出循环”行处退出循环?在上下文中,它会循环两次,但如果我有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")并放置在循环之外的任何其他位置,则该命令可以正常工作并且循环按预期运行。在循环中使用该命令是否有问题?

相关内容