我想为 Gnome 扩展创建一个切换键。扩展与属性中的状态保持一致。我选择这个扩展是出于示例目的:
gnome-extensions show [email protected] | grep State
我本来希望使用转换后的值并进行字符串比较,但我遇到了问题。返回值似乎不是字符串。
#!/bin/bash
STATE="$(gnome-extensions show [email protected] | grep State)"
echo $STATE # output: State: ENABLED
COMPARE="State: ENABLED"
# does not work
if [ "$STATE" = "$COMPARE" ]; then
echo "the state is enabled"
fi
我的猜测是,返回的结果不是字符串,并且冒号在其中有明显的含义,但我不知道如何解决这个问题。
答案1
通过@mosvy 的一些提示,我终于弄清楚了。只是发布它来结束问题并给出答案。
只需寻找子字符串“ENABLED”。比我想象的更简单。
#!/bin/bash
STATE="$(gnome-extensions show [email protected] | grep State)"
# example output for STATE: 'State: ENABLED'
if [[ $STATE == *"ENABLED"* ]]; then
echo "It's there!"
gnome-extensions disable [email protected]
else
echo "Not found!"
gnome-extensions enable [email protected]
fi
结束问题....