• ベストアンサー

historyコマンドのソースコードを

見ることはできるでしょうか 実は、historyコマンドを改良したいのです。 ディストリビューションはFC4です。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.4

#3です。 >どう改良したいかといいますと例えば千件を任意件にしたり、時刻を入れたり保存先を変えたりしたいのです。 時刻を表示する以外はbash標準機能でできますね。man bash はご覧になりましたか? 時刻ねえ。確かにあると便利かも。 現状で出来るのは、プロンプトに時刻を表示するように変更して(これも man bash )、あとターミナルのログを取るようにして、ログを見る程度かな。時刻だけのためにbashを改造というのはちょっと割に合わないと思います。

SariGEnNu
質問者

お礼

ご回答ありがとうございます。 man bashとcat /bin/bashを参考にしてみました。 ソースは文字化けなど見ることができませんでしたがどうしたらよいでしょうか?よろしければぜひ、ご指導お願いします。

その他の回答 (4)

  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.5

#3,#4です。 コマンドのソースは別途インストールが必要です。 正直、cat /bin/bash とコマンドを打って「文字化け」と言っているスキルだとソースを読んで理解するのは無理だと思います。 man bash の HISTSIZE HISTFILE HISTFILESIZE のカスタマイズだけで我慢してください。 プロンプトに時刻を入れるのはPS1のカスタマイズです。

SariGEnNu
質問者

お礼

ご回答ありがとうございます。 うーん、残念ですが自分の能力に応じて少しずつ頑張っていきたいと思っています。

  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.3

みたわけじゃないけど、#2の方の書いているのは、readlineの下なんで、readlineのヒストリ機能…ctrl-Pとかctrl-Nとかの機能じゃないかなあ。 具体的にどう改良したいのでしょう?関数定義でできませんか?

SariGEnNu
質問者

お礼

ご回答ありがとうございます。 どう改良したいかといいますと例えば千件を任意件にしたり、時刻を入れたり保存先を変えたりしたいのです。

noname#243622
noname#243622
回答No.2

通常historyコマンドはシェルの組み込みコマンドになっています。 linuxの場合ですと通常bashでしょうから、bashのソースを見ればよいと思います。 ざっと見たところですと、bash-3.0/lib/readline/history.c が該当するソースになると思います(自信ないですが)。(bash-3.0の場合)

SariGEnNu
質問者

お礼

ご回答ありがとうございます。 ソースコードの場所を見ようと思いましたが /bash-3.0/lib/readline/history.c というパスはありませんでしたので、どこにあるか悩んでいます。

SariGEnNu
質問者

補足

bashのソースコードだったんですね bashのソースコードは cat /bin/bash で見たらよいでしょうか? 文字化けをしたみたいでちゃんと見れなかったのでどうしたらよいでしょうか?よろしければご教授お願いします。

  • stream47
  • ベストアンサー率33% (4/12)
回答No.1

見ることはできます。bashのコマンドなので、bashのソースコードに含まれるはずです。 これ以上はわかりません。

SariGEnNu
質問者

お礼

ご回答ありがとうございます。 一般的なコマンドのソースファイルの場所でもわかれば参考になると思います。

関連するQ&A