Bashを使用したGnome拡張機能の切り替え

Bashを使用したGnome拡張機能の切り替え

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

質問の終わり....

関連情報