ラベル シェルスクリプト の投稿を表示しています。 すべての投稿を表示
ラベル シェルスクリプト の投稿を表示しています。 すべての投稿を表示

2008年12月25日木曜日

プログラムの実行時間の取得

そんなに精度が必要ない場合(秒単位で良い場合)
シェルスクリプト内で,

START=`date +%s`
・・・処理
END=`date +%s`

SS=`expr ${END} - ${START}`

とすれば秒単位での値が入ります.

参考ページ:
シェルスクリプトの処理時間


精度が必要な場合は,
gettimeofdayを使用
使い方は以下のページ参照.
マイクロ秒単位での取得が可能です.

参考ページ:
Manpage of GETOFDAY
C言語:実行時間測定の方法

2008年12月24日水曜日

LD_PRELOAD in シェルスクリプト

随分更新をサボっていました…(*_*;)

この間つまって先輩に助けてもらったことを.

この間の記事で,bashだと,コマンドライン上でプログラムの前にLD_PRELOADの設定ができると記述しました.

これを,シェルスクリプト内に書くと,うまくいきません..

これは,"LD_PRELOAD=./hook.so"をコマンドとして解釈してしまうかららしい.

そこで,こういう場合は,
/bin/bash -c "LD_PRELOAD=./hook.so……"
とすることで解決できました.

2008年12月15日月曜日

シェルスクリプト

冒頭に使うシェルを記述し(#!/bin/sh),実行権限を与えることで,
./hoge.shと実行することが可能.

●cnt++;の表現
 cnt=`expr $cnt + 1`
 *イコールの前後にスペースを入れない
 *'(シングルクォート)ではなく`(バッククォート)!!

●argv[1]の表現
 $1

とか色々!

シェルスクリプト3年まで使ったことなかったけど,とても便利ですね★

参照ページ:
シェルスクリプト入門
シェルスクリプト(Bash)