Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как выполнить скрипт с помощью привязки клавиш в Gnu Screen?

Автор вопроса: user2965351Ответов: 1

Я хочу прикрепить привязку клавиш для вызова скрипта на экране. Я пробовал "привязать ^k /path/to/script" в своем .screenrc, перезагрузил экран и попробовал C-a-k и C-k, и ничего не выполняется.

Рассматриваемый скрипт:

#!/bin/bash

INDEXFILE="$HOME/bin/screen/themes/theme_index"

# if this is the first time then set
# the index to 0

if [[ ! -e $INDEXFILE ]]
then
  echo 0 > $INDEXFILE
fi

THEMENO=`cat $INDEXFILE`

THEMEMAX=5

if [[ $THEMENO -eq $THEMEMAX ]]
then
  THEMENO=0
else
  THEMENO=`expr $THEMENO + 1`
fi

echo $THEMENO > $INDEXFILE

THEMEFILE=$HOME/bin/screen/themes/theme${THEMENO}

Это ссылка на файл themeindex, который будет содержать число 0-5. А также "файлы темы", которые выглядят так:

#!/bin/bash

# yellow

SESSION=$1

screen -S $SESSION -X caption always "%{= KW}%-w%{= Yk}%n %t%{-}%+w %-="
screen -S $SESSION -X hardstatus alwayslastline "%{= kW} %-= %{= kY}Session: %u%{= kW}%5\` | %{= kY}Host:%{= kW} %H | %{= kY} Uptime:%{= kW} %4\` | %{= kY} MEM:%{= kW} %2\`MB |%{= kY} SW: %{= kW}%3\`MB | %{= kY} DATE:%{= kW} %m/%d/%y %C %A"

По сути, это позволяет мне изменить цвет темы экрана Gnu. Различные сеансы будут иметь разный цвет, чтобы их можно было сразу идентифицировать визуально. Сценарий работает сам по себе, если вызывается напрямую, но мне бы очень хотелось, чтобы он был привязан к привязке клавиш.

bashlinuxthemeskeyboard-shortcutsgnu-screen

Ответы

Ответ 1 · Community

Вместо использования bind ^k /path/to/script вы должны использовать bind ^k exec /path/to/script.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы