我搜过,搜过,搜过.但是我不知道为什么这个简单的BASH函数会失败。
守则:
# 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
}每当我尝试运行它时,我都会得到以下输出:
'none'
FAIL本质上,我只是想将我声明的变量与字符串文本进行比较。
我对bash脚本非常陌生,我从堆栈溢出中读到了15种不同的答案(这似乎是一个常见的问题)--但我就是搞不懂!
任何帮助都是非常感谢的。
发布于 2016-04-15 16:28:54
命令gsettings get org.gnome.system.proxy mode返回'none',包括引号(')。
因此,您必须将它们包括在比较中:
...
elif [ "$MODE" = "'none'" ]
then
...发布于 2016-04-15 17:09:44
只需更改这一行:
elif [ "$MODE" = "'none'" ]返回到模式的字符串是“无”而不是“无”
https://stackoverflow.com/questions/36652255
复制相似问题