#author("2023-10-07T19:28:55+09:00","","") #topicpath * 目次 [#tb85ae49] #contents(); //////////////////////////////////////////////////////////////////////////////// * コマンド履歴 [#oc4641a4] //============================================================================== ** 履歴保存先ファイルの指定 [#h917a37e] - コマンド履歴は、通常は ${HOME}/.bash_profile に保存される。これを別なファイルに保存したい場合は、 export HISTFILE=<新しいコマンド履歴ファイル名> とする。&br; 例えば、[[screen>App/screen]]でセッション毎にコマンド履歴を保存したい場合に、セッション毎のコマンド履歴ファイルを指定するなど。 if [ "${STY}" != "" ]; then export HISTFILE=${HISTFILE_DIR}/${TERM}.${STY##*.}; fi //============================================================================== ** 履歴にタイムスタンプを付加する [#d3a5fdd5] - 環境変数 HISTTIMEFORMAT にタイムスタンプフォーマットを指定する。この文字列は strftime(3) の書式文字列 として使われる。 export HISTTIMEFORMAT="%F %T " //============================================================================== ** 履歴を1コマンド毎に保存する [#nc27737e] - 環境変数 PROMPT_COMMAND に指定されたコマンドがあると、bash はそのコマンドをプロンプトを表示する直前に毎回実行する。 export PROMPT_COMMAND="history -a; history -r" shopt -o histappend # histappend は上記により不要になるので、無効にする - "history -a" :「新しい」履歴行 (bash の現在のセッションの開始以降に入力された履歴行) を履歴ファイルに追加します。 - "history -c" :全てのエントリを削除し、履歴リストをクリアします。 - "history -r" :履歴ファイルの内容を読み込み、これらを現在の履歴として用います。 - histappend :設定されている場合、シェルの終了時に変数 HISTFILE の値で指定しているファイルに履歴リストが追加されます。 ファイルへの上書きは行われなくなります。 //////////////////////////////////////////////////////////////////////////////// * PS1 (プロンプト文字列) [#cde76c5c]