echo отображает содержимое переменной, а kdialog (KDE) возвращает пустой результат.

У меня есть следующий код в Bash:

      MESSAGE () {
    VAR="$1"
    BLUE="$( tput setaf 4 )"
    RESET="$( tput sgr0 )"
    VAR="${VAR//\[ i \] /${BLUE}'[ i ] '${RESET}}"
    VAR="${VAR//#BLUE /${BLUE}}"
    VAR="${VAR//#RESET /${RESET}}"
    VAR_POPUP="$VAR"
    VAR=$( echo "$VAR" | sed 's/#POPUP //' )

    echo -e "${VAR}${RESET}"

    if ( echo "$VAR_POPUP" | grep -q -E '^#POPUP' )
    then
        VAR_POPUP="$( echo "$VAR_POPUP" | sed 's/#POPUP //' )"
        VAR_POPUP="$( echo "$VAR_POPUP" | sed 's/\[ .* \] //' )"
        echo "$VAR_POPUP" # Displaying the text of the $VAR_POPUP variable
        kdialog --passivepopup "$VAR_POPUP" # Not displaying the text of the $VAR_POPUP variable
    fi
}

MESSAGE "#POPUP [ i ] text"

Я не понимаю, почему переменная «$VAR_POPUP» ничего не отображает в связи с kdialog . В строке выше (echo "$VAR_POPUP") отображается его значение, а (kdialog --passivepopup "$VAR_POPUP") возвращает пустой результат.

0 ответов

Другие вопросы по тегам