Как я могу отправить SMS-сообщения от своего мобильного / маршрутизатора? (Linux/Textmode)

Зависит, как вещи настраиваются, но по умолчанию, что-то вроде этого должно работать.

settitle() {
    printf "\033k$1\033\\"
}

Затем выполненный:

settitle NEWTITLE.

См. экранные документы заголовка и часто задаваемые вопросы экрана GNU для получения дополнительной информации.

Данный Ctrl+A A только изменяет его до следующей команды, это, вероятно, устанавливается $PS1 (все оболочки), или $PROMPT_COMMAND/DEBUG trap (колотите только), или precmd/preexec (zsh только).

Необходимо искать любое место это \e или \033 появляется с k или \\ после него, в основном как мой settitle пример выше.

ОБНОВЛЕНИЕ

Вы сказали, что у Вас было пользовательское preexec.

Почему бы не изменить его на это:

if [[ "$TERM" == "screen" ]]; then
   local CMD=${1[(wr)^(*=*|sudo|-*)]}
   echo -n "\ek${TITLE:-$CMD}\e\\"
fi

Затем можно установить пользовательский заголовок путем выполнения:

TITLE="my title"

и сброс заголовок путем выполнения

TITLE=

Не забывайте изменяться precmd и $PS1 также при необходимости.

В СТОРОНЕ

Вы могли даже расширить это до всех терминалов (например. xterm, gnome-terminal, и т.д.) путем не трудно кодирования \ek и \e\\.

Это - то, как я делаю это:

terminit()
{
    # determine the window title escape sequences
    case "$TERM" in
    aixterm|dtterm|putty|rxvt|xterm*)
        titlestart='\033]0;'
        titlefinish='\007'
        ;;
    cygwin)
        titlestart='\033];'
        titlefinish='\007'
        ;;
    konsole)
        titlestart='\033]30;'
        titlefinish='\007'
        ;;
    screen*)
        # status line
        #titlestart='\033_'
        #titlefinish='\033\'
        # window title
        titlestart='\033k'
        titlefinish='\033\'
        ;;
    *)
        if type tput >/dev/null 2>&1
        then
            if tput longname >/dev/null 2>&1
            then
                titlestart="$(tput tsl)"
                titlefinish="$(tput fsl)"
            fi
        else
            titlestart=''
            titlefinish=''
        fi
        ;;
    esac
}


# or put it inside a case $- in *i* guard
if test -t 0; then
    terminit
fi

# set the xterm/screen/etc. title
settitle()
{
    test -z "${titlestart}" && return 0

    printf "${titlestart}$*${titlefinish}"
}

Затем можно изменить Ваш preexec кому:

if [[ "$TERM" == "screen" ]]; then
   local CMD=${1[(wr)^(*=*|sudo|-*)]}
   settitle "${TITLE:-$CMD}"
fi

2
27.09.2016, 21:41
1 ответ

Если у Вас есть маршрутизатор GSM, необходимо смочь использовать sms_serv из smslink проекта. Я не попробовал это сам.

Я собирался рекомендовать смотреть на этот сценарий жемчуга Google Voice, прежде чем я перечитал вопрос и видел, что у Вас были аппаратные средства...

1
27.01.2020, 22:24

Теги

Похожие вопросы