微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/bash/386232.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐