在while循环中检查BASH字符串是否有单引号?
想要检查一个字符串是否不包含以下语法中的单引号,'text'(尽管它也可以是'text','text','text'),但是没有能够正确地将引号转义为以允许打开一个while循环。 码:
while [[ -z "$projects" ]] || [[ "$projects" =~ *"'" ]]; do
<reprompt user, read var, and reset variable>
done
以上是我梦寐以求的最好,但它只寻找结局',甚至不能正常工作,因为用“a”进行测试不会导致进入循环。 单引号进场时,我应该如何测试格式不正确的用户字符串?
看起来我最终需要的是:
while [[ "$projects" != "'"?*"'" ]];do
这将捕获空值并确保在单引号之间至少有一个字符。
链接地址: http://www.djcxy.com/p/9801.html上一篇: Checking BASH strings in while loops for single quotes?