- ベストアンサー
historyコマンドのソースコードを
見ることはできるでしょうか 実は、historyコマンドを改良したいのです。 ディストリビューションはFC4です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 >どう改良したいかといいますと例えば千件を任意件にしたり、時刻を入れたり保存先を変えたりしたいのです。 時刻を表示する以外はbash標準機能でできますね。man bash はご覧になりましたか? 時刻ねえ。確かにあると便利かも。 現状で出来るのは、プロンプトに時刻を表示するように変更して(これも man bash )、あとターミナルのログを取るようにして、ログを見る程度かな。時刻だけのためにbashを改造というのはちょっと割に合わないと思います。
その他の回答 (4)
- notnot
- ベストアンサー率47% (4901/10362)
#3,#4です。 コマンドのソースは別途インストールが必要です。 正直、cat /bin/bash とコマンドを打って「文字化け」と言っているスキルだとソースを読んで理解するのは無理だと思います。 man bash の HISTSIZE HISTFILE HISTFILESIZE のカスタマイズだけで我慢してください。 プロンプトに時刻を入れるのはPS1のカスタマイズです。
お礼
ご回答ありがとうございます。 うーん、残念ですが自分の能力に応じて少しずつ頑張っていきたいと思っています。
- notnot
- ベストアンサー率47% (4901/10362)
みたわけじゃないけど、#2の方の書いているのは、readlineの下なんで、readlineのヒストリ機能…ctrl-Pとかctrl-Nとかの機能じゃないかなあ。 具体的にどう改良したいのでしょう?関数定義でできませんか?
お礼
ご回答ありがとうございます。 どう改良したいかといいますと例えば千件を任意件にしたり、時刻を入れたり保存先を変えたりしたいのです。
通常historyコマンドはシェルの組み込みコマンドになっています。 linuxの場合ですと通常bashでしょうから、bashのソースを見ればよいと思います。 ざっと見たところですと、bash-3.0/lib/readline/history.c が該当するソースになると思います(自信ないですが)。(bash-3.0の場合)
お礼
ご回答ありがとうございます。 ソースコードの場所を見ようと思いましたが /bash-3.0/lib/readline/history.c というパスはありませんでしたので、どこにあるか悩んでいます。
補足
bashのソースコードだったんですね bashのソースコードは cat /bin/bash で見たらよいでしょうか? 文字化けをしたみたいでちゃんと見れなかったのでどうしたらよいでしょうか?よろしければご教授お願いします。
- stream47
- ベストアンサー率33% (4/12)
見ることはできます。bashのコマンドなので、bashのソースコードに含まれるはずです。 これ以上はわかりません。
お礼
ご回答ありがとうございます。 一般的なコマンドのソースファイルの場所でもわかれば参考になると思います。
お礼
ご回答ありがとうございます。 man bashとcat /bin/bashを参考にしてみました。 ソースは文字化けなど見ることができませんでしたがどうしたらよいでしょうか?よろしければぜひ、ご指導お願いします。