用惯了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='%~ '        # %~ 表示当前路径

Linux/Unix中的命令提示符prompt的更多相关文章

  1. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  2. 在linux/unix中查找大文件

    在linux/unix中查找大文件,如查找大于100M文件的位置路径,查找等于10M文件的位置路径等等,下面就介绍几个实现快速查找的命令: 1. 查找指定目录下所有大于100M的文件,命令为 find ...

  3. Linux/Unix 中 wheel 组的来源

    使用过 Linux/Unix 的朋友应该知道,将用户添加都 wheel用户组,让用户可以通过在命令在前加 sudo 临时获取 root 用户的权限.但是有没有朋友会想知道为何这个用户组要交 wheel ...

  4. Linux/Unix中系统级IO

    Linux/unix I/O:将设备映射为文件的方式,允许Unix内核引出一个简单.低级的应用接口. Linux/unix IO的系统调用函数很简单,它只有5个函数:open(打开).close(关闭 ...

  5. Linux/Unix中的#!和!#

    是不是在Terminal输入命令的时候,输入了很长的一个路径,然后发现还有在同一条命令中再输一次的时候很恼火,其实Shell是提供了trick的,就是使用!#(和#!不同哦) 习惯写脚本的猿,通常对于 ...

  6. Linux/UNIX 下 “command not found” 原因分析及解决

    在使用 Linux/UNIX 时,会经常遇到 "command not found" 的错误,就如提示的信息,Linux /UNIX 没有找到该命令.原因无外乎你命令拼写错误或 L ...

  7. 获得Unix/Linux系统中的IP、MAC地址等信息

    获得Unix/Linux系统中的IP.MAC地址等信息 中高级  |  2010-07-13 16:03  |  分类:①C语言. Unix/Linux. 网络编程 ②手册  |  4,471 次阅读 ...

  8. Linux/Unix shell 脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

  9. 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)

    如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...

随机推荐

  1. 【WinForm】创建自定义控件(转)

    转自:http://www.cnblogs.com/bomo/archive/2012/12/09/2810559.html 虽然VS为我们提供了很多控件可以使用,但有时候这些控件仍然不能满足我们的要 ...

  2. 我的Android进阶之旅------>Android如何去除GridView的按下或点击选中后的背景效果

    今天用GridView做了一个界面,自己自定好了一个组件,并且设置好了点击和不点击组件时候的效果,但是运行的时候发现在我定义好的背景下面还有一层不知道哪儿来的背景,严重影响了我自定义的组件的效果. 后 ...

  3. Redis3.x HA 方案(基于 Sentinel 方式)

    第一部分 Redis-HA 搭建 一.Redis-HA 拓扑 一主两从,主从复制,故障时主从切换 三个Redis节点 + Sentinel 节点 Master          127.0.0.1   ...

  4. Java for LeetCode 084 Largest Rectangle in Histogram【HARD】

    For example, Given height = [2,1,5,6,2,3], return 10. 解题思路: 参考Problem H: Largest Rectangle in a Hist ...

  5. sys添加路径

    暂时更改sys.path sys.path.append()

  6. File.basename

    File.basename函数 返回filename中的最后一条斜线后面的部分.若给出了参数suffix且它和filename的尾部一致时,该方法会将其删除并返回结果. 例: p File.basen ...

  7. 在ubuntu怎样修改默认的编码格式

    ubuntu修改系统默认编码的方法是: 1. 参考 /usr/share/i18n/SUPPORTED 编辑/var/lib/locales/supported.d/* gedit /var/lib/ ...

  8. windows10怎么开机启动虚拟机

    将如下脚本添加到windows计划任务中即可 "D:\Program Files (x86)\VMware\VMware Workstation\vmplayer.exe" &qu ...

  9. 一.编译nginx

    前往nginx.org下载需要的nginx版本,解压之后目录如下: auto : 主要存放辅助configure脚本执行时的文件, 例如判定nginx支持的模块,操作系统可供nginx使用的特性等. ...

  10. myBatis 如何接受 返回count(*),sum()得到的int值

    <select id="selectRemainder" resultType="java.lang.Integer"> SELECT SUM(aw ...