我尝试阅读有关此内容的信息,但找不到解决我问题的任何方法。 问题是:我有一个嵌套的while循环,并且内部被完全跳过了。 outter循环运行良好,内部代码在取出并单独运行时确实按预期工作。 我对此并不陌生,所以只想寻找一种直接解决的方法,不一定是重写所有内容的方法(除非必要)哈哈。 我省略了一些替换为通用[command]等的内容。
CREATE TEMPORARY TABLE ... SELECT
非常感谢您的帮助!
答案 0 :(得分:1)
您的缩进具有误导性:
使用正确的缩进检查代码
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