Ваш отступник вводит в заблуждение:
Проверьте код с правильными отступами
guid=0
procedure=0
olcmd="${userbin}/[command] ${guid}"
guidver=true;
while $guidver; do
guidver=false;
read -p "
Input log GUID below and press 'Enter'?
" guid
if [[ $guid == ????????-????-????-????-???????????? ]]; then
printf "Good GUID, continuing\n";
else echo "Bad value, please use only Index GUIDs.";
guidver=true
olver=true;
while $olver; do
olver=false;
if $olcmd | grep -i '[text]'>/dev/null; then
printf "\n[text]\n\n"
continue
# guidver=false;
else printf "\n[text]\n\n"
olver=true;
break
fi
done
fi
done
См? Ваш второй while
находится внутри else
ветви вашего первого if
заявления
Я думаю, что вы имели в виду, будет
guid=0
procedure=0
olcmd="${userbin}/[command] ${guid}"
guidver=true;
while $guidver; do
guidver=false;
read -p "
Input log GUID below and press 'Enter'?
" guid
if [[ $guid == ????????-????-????-????-???????????? ]]; then
printf "Good GUID, continuing\n";
else echo "Bad value, please use only Index GUIDs.";
guidver=true
fi
olver=true;
while $olver; do
olver=false;
if $olcmd | grep -i '[text]'>/dev/null; then
printf "\n[text]\n\n"
continue
# guidver=false;
else printf "\n[text]\n\n"
olver=true;
break
fi
done
done