首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BASH变量到字符串的比较总是失败。

BASH变量到字符串的比较总是失败。
EN

Stack Overflow用户
提问于 2016-04-15 16:21:20
回答 2查看 331关注 0票数 2

我搜过,搜过,搜过.但是我不知道为什么这个简单的BASH函数会失败。

守则:

代码语言:javascript
复制
# Function to quickly disable or enable proxy server, system wide
    proxee() {
        MODE=$(gsettings get org.gnome.system.proxy mode)
        echo $MODE

        if [ "$MODE" = "manual" ]
        then
            gsettings set org.gnome.system.proxy mode 'none'
            echo "Proxy Disabled"

        elif [ "$MODE" = "none" ]
        then
            gsettings set org.gnome.system.proxy mode 'manual'
            echo "Proxy Enabled"
        else
           echo "FAIL"
        fi
    }

每当我尝试运行它时,我都会得到以下输出:

代码语言:javascript
复制
'none'
FAIL

本质上,我只是想将我声明的变量与字符串文本进行比较。

我对bash脚本非常陌生,我从堆栈溢出中读到了15种不同的答案(这似乎是一个常见的问题)--但我就是搞不懂!

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-15 16:28:54

命令gsettings get org.gnome.system.proxy mode返回'none',包括引号(')。

因此,您必须将它们包括在比较中:

代码语言:javascript
复制
...
elif [ "$MODE" = "'none'" ]
then
...
票数 7
EN

Stack Overflow用户

发布于 2016-04-15 17:09:44

只需更改这一行:

代码语言:javascript
复制
elif [ "$MODE" = "'none'" ]

返回到模式的字符串是“无”而不是“无”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36652255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档