繁体   English   中英

如何通过Gnu Screen中的按键绑定执行脚本?

[英]How to execute a script via a keybinding in Gnu Screen?

我想附加一个键盘绑定以在屏幕上调用脚本。 我已经在我的.screenrc中尝试了“ bind ^ 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的themeindex文件。 以及如下所示的“主题文件”:

#!/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主题的颜色。 不同的会话将是不同的颜色,以便可以在视觉上立即识别。 如果直接调用,该脚本可以自行工作,但我真的希望将它附加到键绑定上。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM