2

我想附加一个键绑定来调用屏幕中的脚本。我在我的 .screenrc 中尝试了“绑定 ^k /path/to/script”,重新加载屏幕并尝试了 Cak 和 Ck,但没有执行任何操作。

有问题的脚本:

#!/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}

这引用了一个包含数字 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 Screen 主题的颜色。不同的会话将是不同的颜色,以便更直接地在视觉上识别。如果直接调用,该脚本可以自行运行,但我真的希望它附加到键绑定。

4

1 回答 1

0

而不是使用bind ^k /path/to/script你应该使用bind ^k exec /path/to/script.

于 2013-11-08T09:20:50.340 回答