Posts Tagged ‘shell script’
YASnippetでshell-script-mode
「snippets/text-mode/shell-script-mode/」以下に置くだけかな、と思ったらそうじゃなかった。「snippets/text-mode/sh-mode/」に置かなきゃいけなかった。
これでグラフ書いたりファイル処理したりするスクリプト書くのが少し早くなる、かも。
shell scriptでテンポラリファイルを作成する方法
「mktemp」というコマンドを使う。
tmp_file=`mktemp` || exit 1 # $tmp_file を使った処理 rm -f $tmp_file
本当は$tmp_file を使った処理中にエラーで終了しても「rm -f $tmp_file」が実行されてテンポラリファイルが消えるように、とかしないといけないんだろうけど。
直前の記事のスクリプトを書くために調べた。
screenで指定範囲内にあるwindowをすべて表示するスクリプト
このスクリプトを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 テンポラリファイル」としている。もしかしたらもっとスマートな方法があるかも。
