Hadoop-mapred@hdp32:/etc/opt/directorynameisfuckingsolong/my/name/is/spazzzz$
類似於上面這種情況... 這種情況就是bash的命令提示符變量PS1的問題了,這裡的PS1使用的是完整的路徑名:在這裡對上述描述情況發揮作用的是\w這個參數,它表示顯示完整路徑 如果只想顯示當前路徑的話,將w改成W,問題就解決了!(至於在哪裡修改,這個需要看linux的發行版了,有些在/etc/profile中,有些在~/.bash_profile中) 像剛才那種情況,顯示就變成
- echo $PS1
- \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
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文件的內容。