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