在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?

下一篇: Escaping a string with quotes in bash alias file