cygwinを入れて、WindowsにSSH接続できるようにしてみたりしていたら気づいた。

なんか変…?

cygwinデフォルトのプロンプト

cygwinデフォルトのプロンプト

この部分がいつも使っているLinuxのプロンプトとちょっと違います

スクリーンショット 2014-07-01 18.27.05_

そこで、プロンプトを設定する環境変数PS1のなかみをチェック

$ echo $PS1
\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$

長い…

さっそくGoogle先生に聞いてみると、RedHat系ではプロンプトを設定する変数は

PS1='[\u@\h \W]\$'

に設定されているようです。

bashを使っているので、bashに関する設定ファイルを編集すれば良い模様。
Cygwinのディレクトリ中にある /etc/bash.bashrc を編集します。

# If not running interactively, don't do anything
[[ "$-" != *i* ]] && return

# Exclude *dlls from TAB expansion
export EXECIGNORE="*.dll"

# Set a default prompt of: user@host and current_directory
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '

# Uncomment to use the terminal colours set in DIR_COLORS
# eval "$(dircolors -b /etc/DIR_COLORS)"

↓ 色がついている行が変更箇所。

# If not running interactively, don't do anything
[[ "$-" != *i* ]] && return

# Exclude *dlls from TAB expansion
export EXECIGNORE="*.dll"

# Set a default prompt of: user@host and current_directory
PS1='[\u@\h \W]\$ '

# Uncomment to use the terminal colours set in DIR_COLORS
# eval "$(dircolors -b /etc/DIR_COLORS)"

ターミナルを開きなおしてみると…

変更後のcygwinプロンプト

変更後のcygwinプロンプト

うまくいきました!