More info...

2009-03-17

MySQLのプロンプトを変更する。

MySQLのCLI(コマンドラインインターフェイス)を利用しているとおなじみの mysql> というプロンプトがあるが、実はこれは変更が可能である。MySQL CLIを利用している最中なら、promptコマンドを実行すれば良い。例えば次のように。

mysql> prompt \U [\d] >\_
PROMPT set to '\U [\d] >\_'
mikiya@localhost [test] > 


\Uや\dはそれぞれ意味が決まっていて、それらを組み合わせることで任意の情報をプロンプトに表示できるわけである。見易いように > やスペース、括弧などを組み合わせるといいだろう。例えば何かの作業をするときには

mysql> prompt 作業1 [\D]>\_
PROMPT set to '作業1 [\D]>\_'
作業1 [Tue Mar 17 07:39:28 2009]> 

などとすると作業の名前と日時が記載されているので後でログを見直した時にわかり易くて良いだろう。環境にも因るが日本語もOKである。プロンプトを元に戻すときはpromptとだけ入力すれば良い。

作業1 [Tue Mar 17 07:52:11 2009]> prompt
Returning to default PROMPT of mysql>
mysql> 

なお、プロンプトで指定できるシーケンスの意味は次の通り。

\c ・・・コマンド何回実行したかを数えるカウンタ。
\D ・・・日時
\d ・・・利用中のデフォルトデータベース
\h ・・・接続先ホスト(サーバ)
\l ・・・デリミタ(区切り文字、デフォルトはセミコロン)
\m ・・・分
\n ・・・改行
\O ・・・月
\o ・・・月(数字)
\P ・・・am/pm
\p ・・・TCP/IPポート番号、またはソケットファイル名
\R ・・・時(24時間制)
\r ・・・時(12時間制)
\S ・・・セミコロン
\s ・・・秒
\t ・・・タブ
\U ・・・ユーザ名(ホスト名含む)
\u ・・・ユーザ名
\v ・・・MySQLサーバのバージョン
\w ・・・曜日
\Y ・・・年(4桁)
\y ・・・年(2桁)
\_ ・・・空白
\  ・・・空白(スラッシュの後に空白文字)
\' ・・・シングルクォーテーションマーク
\" ・・・ダブルクォーテーションマーク
\\ ・・・バックスラッシュ

毎回プロンプトを指定するのが面倒だ!という人は$HOME/.my.cnfなどの設定ファイルにお気に入りのプロンプトを書いておくといいだろう。($HOME/.my.cnfはユーザごとの設定ファイルである。)

[mysql]
prompt='\\u: [\\d] \\r:\\m \\P> '

.my.cnfなどでpromptを設定する場合、バックスラッシュを二重にしておく必要がある。なぜならば、\rなどのエスケープシーケンスと被ってしまうからだ。ちなみに\rはキャリッジリターンである。

ちょっとした工夫であるが、プロンプトを好きなようにカスタマイズすれば便利だし愛着がわくというものである。ぜひ試して頂きたい。

0 件のコメント:

コメントを投稿