ナンクル力学系

学んだ事を書き連ねていこう。

screenで指定範囲内にあるwindowをすべて表示するスクリプト

leave a comment »

このスクリプトをscreenの中で「script_name.sh 3 15」とかで実行するとwindow idが3番から15番までのwindowが一覧表示される。何をやっていたかが一目で分かって便利。

計算中のプログラムの進行状況をチェックするのに使っている。

実行するとこんな感じに:

実行するとこんな感じ

実行するとこんな感じ

ソース:

#!/bin/sh
tmp_file=`mktemp` || exit 1
last=`expr $2 - 1`

echo "only" >> $tmp_file

for i in `seq $1 $last`
do
    echo "split" >> $tmp_file
done

echo "focus top" >> $tmp_file

for i in `seq $1 $2`
do
    echo "select ${i}" >> $tmp_file
    echo "focus down" >> $tmp_file
done

#cat $tmp_file
#echo $tmp_file
screen -X source $tmp_file

rm -f $tmp_file

「screen -X コマンド」や「screen -X eval “コマンド” “コマンド” “コマンド” …」を使うとなぜか他の端末のscreenで実行されるので、仕方なくテンポラリファイルを作成して「screen -X source テンポラリファイル」としている。もしかしたらもっとスマートな方法があるかも。

Advertisements

Written by tkf

November 8, 2008 at 3:54 am

Posted in PC

Tagged with ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: