zoukankan      html  css  js  c++  java
  • Linux/Unix中的命令提示符prompt

    用惯了DOS的伙计刚用Unix时最想干的事情就是想把Unix搞得像DOS一些, 
    其中的一条就是把Unix的提示符设置成$p$g那样的。下面就说一说做的方法。 

    不同的SHELL设置的方法不同,比较方便的是GNU bash(Bourne Again Shell) 
    和ksh(Korn Shell)以及tcsh(csh的增强版,Linux中的csh就是到tcsh的一个 
    符号连接)。普通的sh(Bourne Shell)和csh设置比较罗嗦。下面就一个一个的 
    说各种Shell的设置方法: 

    ksh: 
    由于ksh把提示符变量PS1作为一个特殊的变量看待,cd的时候ksh会自动更 
    新PS1的值所以只要简单的把当前路径对应的环境变量$PWD加到PS1里就行了: 

    PS1='$PWD $ ' 

    sh: 
    由于Bourne Shell只把PS1作为一个普通的变量,而且不支持别名,因此无 
    法完美地实现DOS中相同的功能,解决的方法是重新定义一个命令(比如xcd) 
    将其实现为一个函数: 

    xcd() { cd $* ; PS1="`pwd` $ "; } 

    然后每次用xcd切换目录。 

    csh: 
    csh虽然不对提示符变量$prompt作特殊处理,但它支持别名,可以修改一下 
    cd的语义,使其自动修改提示符: 

    alias setprompt 'set prompt="${cwd}% "' 
    setprompt# to set the initial prompt 
    alias cd 'chdir !* && setprompt' 

    bash: 
    bash提供了一些特殊的变量来支持提示符的设置,w表示当前路径,并把 
    等同于$HOME的部分替换成~,以缩短提示符的长度。 

    PS1='w $ ' 

    Linux中是把hostname也加上了: 

    PS1='h:w $ ' # h 表示hostname 

    为了更象DOS,可以把不同的命令分得更清楚,我通常加上一个换行符: 

    PS1=' 
    h:w $ ' 

    tcsh: 
    tcsh的做法类似于bash,只不过变量的名字不同: 

    set prompt='%~ ' # %~ 表示当前路径 

    Sample: 
    Solaris中的不同做法:如何在命令行显示目录?
    用惯了DOS的伙计刚用Unix时最想干的事情就是想把Unix搞得像DOS一些,
    其中的一条就是把Unix的提示符设置成$p$g那样的。下面就说一说做的方法。
        不同的SHELL设置的方法不同,比较方便的是GNU bash(Bourne Again Shell)
    和ksh(Korn Shell)以及tcsh(csh的增强版,Linux中的csh就是到tcsh的一个
    符号连接)。普通的sh(Bourne Shell)和csh设置比较罗嗦。下面就一个一个的
    说各种Shell的设置方法:
    ksh:
        由于ksh把提示符变量PS1作为一个特殊的变量看待,cd的时候ksh会自动更
        新PS1的值所以只要简单的把当前路径对应的环境变量$PWD加到PS1里就行了:
            PS1='$PWD $ '
    sh:
        由于Bourne Shell只把PS1作为一个普通的变量,而且不支持别名,因此无
        法完美地实现DOS中相同的功能,解决的方法是重新定义一个命令(比如xcd)
        将其实现为一个函数:
            xcd() { cd $* ; PS1="`pwd` $ "; }
        然后每次用xcd切换目录。
    csh:
        csh虽然不对提示符变量$prompt作特殊处理,但它支持别名,可以修改一下
        cd的语义,使其自动修改提示符:
            alias setprompt 'set prompt="${cwd}% "'
            setprompt# to set the initial prompt
            alias cd 'chdir !* && setprompt'
    bash:
        bash提供了一些特殊的变量来支持提示符的设置,w表示当前路径,并把
        等同于$HOME的部分替换成~,以缩短提示符的长度。
            PS1='w $ '
        Linux中是把hostname也加上了:
            PS1='h:w $ '          # h 表示hostname
        为了更象DOS,可以把不同的命令分得更清楚,我通常加上一个换行符:
            PS1='
            h:w $ '
    tcsh:
        tcsh的做法类似于bash,只不过变量的名字不同:
            set prompt='%~ '        # %~ 表示当前路径

  • 相关阅读:
    IsBadReadPtr|IsBadWritePtr调试崩溃
    VSCode配置python调试环境
    Visual Studio Code 如何编写运行 C、C++ 程序?
    使用nginx做反向代理
    Win10环境下配置VScode的C++编译环境
    关于java 获取 html select标签 下拉框 option 文本内容 隐藏域
    【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】
    VS Code 配置 C/C++ 环境
    改变你一生的编辑器:VSCode使用总结
    CentOS7,安装Tomcat8.5、JDK1.8,并设置开机启动(Linux CentOS Tomcat、JDK+Tomcat、Tomcat开机自启动)
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/4369137.html
Copyright © 2011-2022 走看看