2

画面内のスクリプトを呼び出すキーバインディングを付けたい。.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 の数字を含むテーマインデックス ファイルを参照します。次のような「テーマファイル」と同様に:

#!/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 に答える