Hatena::ブログ(Diary)

kanonjiの日記 RSSフィード

http://kanonji.info/blog/ 2013年2月頃に移転しました。

2011-02-09

何気なく使ってるhistoryコマンドについてちょっと調べてみた。Macの。

historyコマンドについて調べてみました。調べたのは割と前なので、なんで調べようと思ったのかもう忘れました。

historyコマンドはシェルに組み込まれたコマンドだった

$ whereis history
$ which history
$ type history
history is a shell builtin

historyコマンドがどこにあるのか気になったんですが、whereiswhichでは何も出ませんでした。色々調べてtypeコマンドを知って、使ってみたらビルトインとの事。なので、下に書いた変数なんかもbashのお話ぽい。bashしか使ってないのでほかのシェルのことは分かりません。

ちなみにMacでのwhereisコマンドとwhichコマンドの違い - kanonjiの日記というエントリーもあります。

historyコマンドに関連するbashの変数

HISTFILEヒストリーファイルの場所
HISTCMD次にコマンドを実行した際に付くヒストリ番号
HISTCONTROLHISTCONTROL=ignoredups:同じコマンドを連続して実行した際、履歴には1回だけ記録する。HISTCONTROL=ignorespace:コマンドの頭にホワイトスペースをつけて実行すると、履歴に記録されない。HISTCONTROL=ignoreboth:ignoredupsとignorespaceの両方が適用される。
HISTFILESIZEヒストリーファイルに記録される行数
HISTSIZE記録されているコマンドの数。ヒストリーファイルではなく、上キーやhistoryコマンドで表示されるコマンド数、らしい*1
HISTTIMEFORMAT設定すると履歴に日付・時間を付けられる。
HISTIGNORE履歴に残さないコマンドを指定する。複数指定する場合は:で区切る。*?といったワイルドカードも使えるらしい。

変数をechoしてみた。

$ bash -version
GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)
Copyright (C) 2005 Free Software Foundation, Inc.
$ echo $HISTFILE
/Users/kanonji/.bash_history
$ echo $HISTCMD
509
$ echo $HISTCONTROL

$ echo $HISTFILESIZE
500
$ echo $HISTSIZE
500
$ echo $HISTTIMEFORMAT

$ echo $HISTIGNORE

特に何も設定してないので、Macでの初期値のはずです。空行なのは、未設定だからかな。

環境

MacMac OS X 10.5.8(Leopard)
bashGNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)

参考

*1:ちょっとよく分かってない

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kanonji/20110209/1297225727
Connection: close