bash字符串与多个正确的值比较

我有以下一个bashscript:
function get_cms {
    echo "input cms name"
    read cms
    cms=${cms,}
    if [ "$cms" != "wordpress" && "$cms" != "meganto" && "$cms" != "typo3" ]; then
        get_cms
    fi
}

但无论我输入什么(正确和不正确的值),它都不会再次调用函数,因为我只想允许这3个输入中的1个.
我已经尝试了||使用[var!= value]或[var!= value1]或[var!= value1]
但没有什么工作.
有人可以指向正确的方向吗?

而不是说:
if [ "$cms" != "wordpress" && "$cms" != "meganto" && "$cms" != "typo3" ]; then

说:

if [[ "$cms" != "wordpress" && "$cms" != "meganto" && "$cms" != "typo3" ]]; then

您也可以参考Conditional Constructs.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...