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
질문 끝....