Corredor

ウェブ、プログラミングの勉強メモ。

Bash プロンプトに日付と時刻を入れる

僕は MacOS 環境でも、GitBash (Git For Windows) 風の Bash プロンプト (PS1) を導入している。

# ~/.bash_profile にて
export PS1='\n\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '

手前のコマンドから1行開け、「ユーザ名@ホスト名」とカレントディレクトリパス、それから __git_ps1 関数を実行している。

コマンドごとに空行が出来るので見やすくなると思っている。


最近、コマンドの実行結果を証跡としてそのまんまペタペタと貼り付けることが多くなったので、コマンドの実行日時も分かるといいなーと思い、プロンプトに日付を出す方法を調べた。MacOS Mojave 標準の「ターミナル.app」にて検証。

簡易的に日付を出したりするなら、PS1 変数の中で

  • \d と書けば 水 3 06 のように日付が、
  • \t と書けば 14:33:49 のように時刻が、

それぞれ表示されるのだが、\d で表示できる日付が壊滅的にダサい。

そこで調べてみたところ、\D{%F %T} と書くと、2019-03-06 14:33:49 と良い感じに日時が表示できるようになった。

あとはコレを適当に色付けして組み込めば OK。

export PS1='\n\[\033[32m\]\u@\h \[\033[35m\]\D{%F %T} \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '

Windows GitBash でも MacOS ターミナルでもコレで実現できたので良かったらドウゾ。