场景。我有这样的代码:
While循环变量未定义时
regexp="[^0-9A-Za-z]+"
while [[ $var =~ $regexp ]]
do
{
var=$(dialog --inputbox "File name (number and letters only): " 12 60 --stdout)
}
done
echo $var
条件:
变量VAR不应之前而语句设置(未设置);
目标:
离开而只有当变量有字母数字值的语句。
但是,如果我尝试运行它不工作。它的工作原理,如果我设置了可变VAR,e.g:
regexp="[^0-9A-Za-z]+"
var="_"
while [[ $var =~ $regexp ]]
do
{
...
现在,如何运行,而不设置变量VAR代码?
有一个在你的逻辑在这里的错误:你必须在'while'之前初始化'var'或者将'while'放入'while while; ...完成。匹配1个或更多字母数字字符的正则表达式是'[0-9A-Za-z] +'。 –