読者です 読者をやめる 読者になる 読者になる

FLYING

〈全日本・紀文豆乳飲料シリーズ「麦芽コーヒー」の500ミリリットルパックを扱う小売店が少ないことに遺憾の意を表明する会〉活動記録

Terminalの折り返し挙動が怪しい件

unix sh

OS X環境で何処かからコピペした.bashrcを使っていたら,PS1の環境変数の影響で折り返し挙動が怪しくなっていたので,修正したメモ。怪しい挙動っていうのは,具体的には長いコマンドを入力したときに改行されずにそのまま行頭から文字が上書きされてしまうという現象。

変更前のPS1の設定。エスケープシーケンスを「\[〜\]」で囲っていないのが直接の原因。

export PS1="[\e[1;32m\u\e[m@\h \W]\\$ "

変更後のPS1の設定。エスケープシーケンスがわかりづらいので変数に切り出すなどした。

PS1_COLOR_BEGIN="\[\e[1;32m\]"
PS1_COLOR_END="\[\e[m\]"
export PS1="[${PS1_COLOR_BEGIN}\u${PS1_COLOR_END}@\h \W]\\$ "

これでめでたし。ちなみに,ユーザー名にわざわざ色を付けるのは,(これは先輩からの受け売りだが)コマンドの実行結果の区切りを目視ですぐ把握できるようにするための工夫。