原文網址:http://jingyan.baidu.com/article/3d69c5516c129df0ce02d77b.html
方法/步驟
-
找到配置文件先進行備份: cp ~/.bashrc ~/.bashrc-bak
找到配置文件修改: vi ~/.bashrc
備份是為了防止配置修改出錯,可以還原; -
下面是我的/home/vagrant/.bashrc,真正修改到就一行代碼:
找到: 62 PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
修改將小寫w改為大寫W保存,執行source /home/vagrant/.bashrc或者重啟終端就行了。
既可以顯示最后一級,又可以查看當前完整路徑。
原文網址:http://www.linuxidc.com/Linux/2011-10/44289.htm和朋友聊天,他說自己在用 Ubuntu的時候會有這樣一個困惑:在bash下使用cd命令,進入一些很深的目錄后,或者說那些目錄名非常長的目錄后,bash的命令提示符就特別的長,以至於每個命令都會換行Hadoop-mapred@hdp32:/etc/opt/directorynameisfuckingsolong/my/name/is/spazzzz$
類似於上面這種情況...這種情況就是bash的命令提示符變量PS1的問題了,這里的PS1使用的是完整的路徑名:- echo $PS1
- \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
在這里對上述描述情況發揮作用的是\w這個參數,它表示顯示完整路徑如果只想顯示當前路徑的話,將w改成W,問題就解決了!(至於在哪里修改,這個需要看linux的發行版了,有些在/etc/profile中,有些在~/.bash_profile中)像剛才那種情況,顯示就變成hadoop-mapred@hdp32:spazzzz$
這樣是不是就好多了。
PS:一些變量意義
\d :代表日期,格式為weekday month date,例如:"Mon Aug 1"\H :完整的主機名稱。名稱就是fc4.linux\h :僅取主機的第一個名字,如上例,則為fc4,.linux則被省略\t :顯示時間為24小時格式,如:HH:MM:SS\T :顯示時間為12小時格式\A :顯示時間為24小時格式:HH:MM\u :當前用戶的賬號名稱\v :BASH的版本信息\w :完整的工作目錄名稱。家目錄會以 ~代替\W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄\# :下達的第幾個命令\$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:{debian_chroot:+($debian_chroot)} 這句的意思是說,如果在/etc下有debian_chroot文件,則命令提示符前面就附加上debian_chroot文件的內容。