csh下如何让提示符中显示当前路径

更换Linux的Shell为csh后,终端命令行就只剩一个#,不显示当前目录,很是别扭,若是你也有此烦恼,请继续阅读此文。
显示当前路径方法
打开.cshrc文件,复制如下代码到其末尾,
alias setprompt 'set prompt="[`whoami`@${cwd}]# "'
setprompt# to set the initial prompt
alias cd 'chdir \!* && setprompt'
保存,重新打开终端,伊人再现!
工程结算附:
Unix使用技巧:如何让提示符中包含当前路径
不同的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 $ ’
1苯基1丙酮
tcsh:
tcsh的做法类似于bash,只不过变量的名字不同:
set prompt=’%~’        # %~ 表示当前路径

本文发布于:2024-09-22 14:22:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/257807.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:提示符   变量   路径   方法   设置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议