zoukankan      html  css  js  c++  java
  • ubuntu修改Bash命令行提示符

    用户通过远程登陆,初始的PS1为s-v$, bash为/bin/bash,然后先后执行/etc/profile和~/.bash_profile中的命令。

    /etc/profile文件中调用执行/etc/bash.bashrc,使得默认从终端登陆的PS1初始值设为

    PS1='${debian_chroot:+($debian_chroot)}u@h:w$ '

    而用户通过图形界面新建shell,会先后读取/etc/bash.bashrc和~/.bashrc中的配置,由于$TERM为xterm-256color,所以会将PS1设为

    [e]0;u@h: wa]${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$

     以下为修改远程登陆shell时的bash命令提示符

    vi ~/.bash_profile
    # 在 ~/.bash_profile中加入:
    export PS1="[u@h:W]\$"
    # 使配置立即生效
    source ~/.bash_profile

    如果要修改图形界面下bash命令提示符,只需要将 PS1="[u@h:W]\$" 让在.bashrc文件最后,或者做如下修改:

     67 case "$TERM" in
     68 xterm*|rxvt*)
     69 #    PS1="[e]0;${debian_chroot:+($debian_chroot)}u@h: wa]$PS1"
     70     PS1="[u@h:W]\$"
     71     ;;
     72 *)
     73     ;;
     74 esac

    参考: man bash 下的 INVOCATION

    效果:

    hupeng@hupeng-vm:~/WorkSpace/shell$ vi ~/.bashrc  #未修改之前路径很长,从宿主目录~开始显示
    hupeng@hupeng-vm:~/WorkSpace/shell$ cd test/
    hupeng@hupeng-vm:~/WorkSpace/shell/test$ source ~/.bashrc #是修改立即生效
    [hupeng@hupeng-vm test]$  #路径变短了,只显示路径的basename
    [hupeng@hupeng-vm shell]$#关于basename
    [hupeng@hupeng-vm shell]$pwd
    /home/hupeng/WorkSpace/shell
    [hupeng@hupeng-vm shell]$basename `pwd`
    shell
    [hupeng@hupeng-vm shell]$echo $PS1
    [u@h W]$
    [hupeng@hupeng-vm shell]$PS1="PROMPT>"
    PROMPT>PS1="[u@h W]$"
    [hupeng@hupeng-vm shell]$  #在shell中修改只能临时生效,要永久生效,必须修改配置文件

    PS1以及相关特殊字符介绍:

    可以 man bash 然后搜索PS1和PROMPTING

    PS1被用作主要的提示字符串使用。

    相关特殊字符:

    H:    #完整的主机名称。   
    h:    #仅取主机的第一个名字,到“.”结束  
    u:    #当前用户的用户名 
    w:    #完整的工作目录名称。宿主目录(如/hom/peter)会以~代替   
    W:    #利用basename取得工作目录名称,所以只会列出最后一个目录 
    $:    #提示字符,如果是root时,提示符为:#,普通用户则为:
    #:    #显示命令的编号(如30,31...)
    	:    显示时间为24小时格式,如:HH:MM:SS   
    T:    #显示时间为12小时格式   
    A:    #显示时间为24小时格式:  HH:MM   
    d:    #代表日期,格式为weekday month date, 例如:"Tue May 26" 
    v:    #bash的版本信息 (如4.3
  • 相关阅读:
    如何在腾讯云上安装Cloud Foundry
    Chrome浏览器扩展程序的本地备份
    如何在Kubernetes里创建一个Nginx service
    如何在Kubernetes里创建一个Nginx应用
    在Mac里给Terminal终端自定义颜色
    linux sed命令详解
    跟我一起写Makefile--- 变量(嵌套变量+追加变量+overrid+多行变量+环境变量+目标变量+模式变量)
    makefile详解 嵌套执行make,定义命令包
    makefile学习笔记(多目录嵌套调用、变量使用)
    Makefile所有内嵌函数
  • 原文地址:https://www.cnblogs.com/hupeng1234/p/6736141.html
Copyright © 2011-2022 走看看