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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题涉及到的命令是针对 Windows/DOS 和 Unix/Linux 操作系统的文件和目录操作命令。为了在 Windows/DOS 系统上使用 Unix/Linux 命令,可以使用 Cygwin 工具,它提供了一个类 Unix 的环境,包括 Bash shell、标准命令、编译器和调试器等。 如果你想在 Windows/DOS 系统上使用和 Unix/Linux 相似的命令,你可以使用一些 Windows 的命令,如: - DIR:在 Windows/DOS ,DIR 命令Unix/Linux 的 ls 命令类似,用于列出当前目录下的文件和子目录。 - RD:在 Windows/DOS ,RD 命令Unix/Linux 的 rmdir 命令类似,用于删除空目录。 - CD:在 Windows/DOS ,CD 命令Unix/Linux 的 cd 命令类似,用于切换当前目录。 - MD:在 Windows/DOS ,MD 命令Unix/Linux 的 mkdir 命令类似,用于创建新目录。 - DEL:在 Windows/DOS ,DEL 命令Unix/Linux 的 rm 命令类似,用于删除文件。 - MOVE:在 Windows/DOS ,MOVE 命令Unix/Linux 的 mv 命令类似,用于移动文件或文件夹。 - REN:在 Windows/DOS ,REN 命令Unix/Linux 的 mv 命令类似,用于重命名文件或文件夹。 - XCOPY:在 Windows/DOS ,XCOPY 命令Unix/Linux 的 cp 命令类似,用于复制文件和目录。 - PROMPT:在 Windows/DOS PROMPT 命令用于设置 DOS 提示符的文本。 - SORT:在 Windows/DOS ,SORT 命令Unix/Linux 的 sort 命令类似,用于对文本文件进行排序。 - TYPE:在 Windows/DOS ,TYPE 命令Unix/Linux 的 cat 命令类似,用于将文本文件的内容显示在屏幕上。 - COPY:在 Windows/DOS ,COPY 命令Unix/Linux 的 cp 命令类似,用于复制文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值