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