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
質問の終わり....