这是我的剧本:
#!/bin/bash
result=$(xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar)
if $result == "false"
then
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true
else
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s false
fi
它不输出任何错误,但它也不起作用。
答案 0 :(得分:4)
你的专栏:
if $result == "false"
尝试运行名为true
或false
的命令,这两个命令都是bash中的有效关键字,因此您不会收到错误。额外的论据==
和false
没有做任何有用的事情。
正在运行true
会返回"成功"退出代码,因此当$result
为true
时,您的代码将遵循if
分支,当它为false
时,它将跟随else
分支。< / p>
要测试字符串的值,请使用标准语法:
if [ "$result" = false ]
或特定于bash:
if [[ $result = false ]]
bash支持 ==
,但您也可以在任何地方使用标准运算符=
。
答案 1 :(得分:-4)
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -T