歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下Bash的PS1

Linux下Bash的PS1

日期:2017/2/28 16:05:46   编辑:Linux教程
和一個朋友聊天,他說自己在用Ubuntu的時候會有這樣一個困惑:在bash下使用cd命令,進入一些很深的目錄後,或者說那些目錄名非常長的目錄後,bash的命令提示符就特別的長,以至於每個命令都會換行

Hadoop-mapred@hdp32:/etc/opt/directorynameisfuckingsolong/my/name/is/spazzzz$

類似於上面這種情況... 這種情況就是bash的命令提示符變量PS1的問題了,這裡的PS1使用的是完整的路徑名:
  1. echo $PS1
  2. \[\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文件的內容。
Copyright © Linux教程網 All Rights Reserved