Welcome 微信登录

首页 / 操作系统 / Linux / Linux下Bash的PS1

和一个朋友聊天,他说自己在用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: wa]${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则被省略  :显示时间为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文件的内容。SUSE Enterprise Linux 11磁盘分区表格式升级Ubuntu 10.04,10.10,11.04到Ubuntu 11.10 (桌面&服务器)相关资讯      Linux教程 
  • Linux教程:如何在命令行中查看目  (07/28/2014 12:22:23)
  • Linux 修改root密码  (11/03/2012 07:53:38)
  • su - root 与su root的区别  (06/06/2012 00:39:40)
  • Linux进程间通信:消息队列  (01/28/2013 09:43:00)
  • U盘安装Linux开机无法启动解决方法  (10/07/2012 08:55:52)
  • Windows 7/Linux 同步时间  (05/15/2012 06:17:55)
本文评论 查看全部评论 (0)
表情: 姓名: 字数