2015年9月3日木曜日

シェルのプロンプトに表示されるカレントディレクトリを絶対パスからベース名に変更

Ubuntu の場合、シェルのプロンプトに表示されるカレントディレクトリは以下のようにデフォルトで絶対パスとなります。

worker@testserver:/etc/default$

これだと深い階層に移動した場合にディレクトリが長くなり気になります。

worker@testserver:/usr/src/linux-headers-3.13.0-62/drivers/net/dpa/NetCommSw/integrations/P3040_P4080_P5020$

なので、プロンプトに表示されるカレントディレクトリをベース名のみに変更してみました。


環境:
Ubuntu 14.04 (Trusty Tahr) Server

以下のように ~/.bashrc の中で PS1 の小文字の \w を大文字の \W にします。

$ diff -u ~/.bashrc.org ~/.bashrc
--- /home/worker/.bashrc.org    2015-09-02 12:54:06.123542075 +0900
+++ /home/worker/.bashrc        2015-09-03 12:36:01.163542075 +0900
@@ -57,16 +57,16 @@
 fi

 if [ "$color_prompt" = yes ]; then
-    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
+    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
 else
-    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
+    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
 fi
 unset color_prompt force_color_prompt

 # If this is an xterm set the title to user@host:dir
 case "$TERM" in
 xterm*|rxvt*)
-    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
+    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \W\a\]$PS1"
     ;;
 *)
     ;;

次回ログインからはプロンプトに表示されるカレントディレクトリがベース名のみとなります。

worker@testserver:P3040_P4080_P5020$ pwd
/usr/src/linux-headers-3.13.0-62/drivers/net/dpa/NetCommSw/integrations/P3040_P4080_P5020

0 件のコメント:

コメントを投稿