白鳥です。
藤田様、藤本様どうもありがとうございます。アドバイスを元にいろいろと試し
てみた結果、だいぶ希望に近いものが得られました。
ディレクトリのベース名を得るのをどうしようか迷いましたが、とりあえ
ず .bashrcに
PS1='[${USER:0:2}@${HOSTNAME:0:2} $(echo \W | cut -c 1-12)]\$ '
と記述することでなんとか希望に近い出力が得られました。
ユーザー名、ホスト名を初めの2文字だけ出力、その後にディレクトリ名を12文
字までしか出力させないようにして右の方まで文字が伸びてくるのを防いでみま
した。「常に文字数が一定になるようにする」というのは実現できていません
が、これで充分便利になりそうです。
ユーザー名、ホスト名は自分にとってはあまり必要のない情報なので、
PS1='[$(echo \W | cut -c 1-12)]\$ '
だけでもよさそうです。
echo \W でディレクトリ名が取得できるのがちょっと「?」ですが、.bashrc内
ではこういったこともできるのかと自分を納得させています。この辺は変数がど
の範囲で有効かということを勉強する必要がありそうですね。
○Bash Prompt HOWTO
http://www.linux.or.jp/JF/JFdocs/Bash-Prompt-HOWTO.html
はだいぶ参考になりました。ここに書いてある内容が理解できるようになれば、
いろいろと遊べそうです。