RECOMMEND

ハッカーと画家
ハッカーと画家
プログラマ必読。→感想


C言語ポインタ完全制覇
C言語ポインタ完全制覇
C言語 対ポインタ最強兵器。
感想

COUNTER

MONTHLY

CATEGORIES

RECENT ENTRIES

RECENT COMMENTS

RECENT TRACKBACKS

twitter

Twitterボタン

APPENDIX

sugarball

こまごまと、プログラミング関係のtipsを。

[スポンサー広告]スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[UNIX]コマンドやスクリプトの実行時間を計測する 

UNIXをいじっていると、「このスクリプトは一体何分かかるんだろう?」とか、コマンドやスクリプトの実行時間を計測したくなるケースがあります。そんなときに使えるのがtimeコマンド。
$ time script.sh  ← timeコマンドの引数に、時間を計測したいコマンドを渡す

real 0m0.062s  ← script.shを実行するのにかかった時間
user 0m0.030s  ← script.shを実行したときにユーザモードだった時間
sys 0m0.030s  ← script.shを実行したときにカーネルモードだった時間

ということで、「real」の値がスクリプトを実行するのにかかった時間ということですね。
(参考:Manpage of TIME

ちなみに、timeコマンドを使わないと
$date; script.sh; date
Fri Dec 14 01:42:16 2007
(script.shの実行結果)
Fri Dec 14 01:42:16 2007
のようにおバカなことやってしまいがちです。やっぱり、timeコマンドを使った方がいいですね。

ところで、Solarisの場合はtimeコマンドの他にtimexコマンドというtimeコマンドよりも高機能(っぽい)ものがあるみたいです。
スポンサーサイト

[UNIX]シェルで文字列変数をコマンドとして実行する(eval、exec) 

シェルで文字列変数に実行したいコマンドを格納したはいいけど、「どうやって実行すんの?」みたいな状況になったときに使えるのがevalコマンドとexecコマンドです。
$ HENSU="ls" ←この「HENSU」をコマンドとして実行したい。。

使い方は簡単で、
$ eval $HENSU
data1.txt ← lsコマンドの結果が表示される
のように、コマンドとして実行したい文字列変数をevalコマンドの引数に指定すればOKです。上記の例では、evalコマンドを使用しましたが、execコマンドを使用することでも、ほぼ同様の結果を得ることができます。

しかし、execコマンドを使用する場合は、コマンドの実行結果が表示された直後にシェルが終了してしまうので注意が必要です。
(参考:Manpage of EXEC
$ exec $HENSU
data1.txt ← lsコマンドの結果が表示される
※ここでシェルが終了してしまう

«  | HOME |  »

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。