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='%~ ' # %~ 表示当前路径
Linux/Unix中的命令提示符prompt的更多相关文章
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...
- 在linux/unix中查找大文件
在linux/unix中查找大文件,如查找大于100M文件的位置路径,查找等于10M文件的位置路径等等,下面就介绍几个实现快速查找的命令: 1. 查找指定目录下所有大于100M的文件,命令为 find ...
- Linux/Unix 中 wheel 组的来源
使用过 Linux/Unix 的朋友应该知道,将用户添加都 wheel用户组,让用户可以通过在命令在前加 sudo 临时获取 root 用户的权限.但是有没有朋友会想知道为何这个用户组要交 wheel ...
- Linux/Unix中系统级IO
Linux/unix I/O:将设备映射为文件的方式,允许Unix内核引出一个简单.低级的应用接口. Linux/unix IO的系统调用函数很简单,它只有5个函数:open(打开).close(关闭 ...
- Linux/Unix中的#!和!#
是不是在Terminal输入命令的时候,输入了很长的一个路径,然后发现还有在同一条命令中再输一次的时候很恼火,其实Shell是提供了trick的,就是使用!#(和#!不同哦) 习惯写脚本的猿,通常对于 ...
- Linux/UNIX 下 “command not found” 原因分析及解决
在使用 Linux/UNIX 时,会经常遇到 "command not found" 的错误,就如提示的信息,Linux /UNIX 没有找到该命令.原因无外乎你命令拼写错误或 L ...
- 获得Unix/Linux系统中的IP、MAC地址等信息
获得Unix/Linux系统中的IP.MAC地址等信息 中高级 | 2010-07-13 16:03 | 分类:①C语言. Unix/Linux. 网络编程 ②手册 | 4,471 次阅读 ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)
如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...
随机推荐
- linux rz sz命令
rz是receive zmodem的缩写,sz是send zmodem的缩写. 传输文件使用的是zmodem协议,所以叫zmodem. r和s是以服务器为主体的,服务器接收就是r,服务器发送就是s.
- vs2013 solution文件解析
1 定义一个project Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "render", &quo ...
- 2017-2018-1 20179209《Linux内核原理与分析》第七周作业
一.实验 1.1task_struct数据结构 Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息.它定义在linux-3.18.6 ...
- JavaScript for循环实现表格隔行变色
本代码主要演示的是for循环, <!doctype html> <html lang="en"> <head> <meta charset ...
- Redis之java增删改查
jedis是java的redis客户端实现,要使用jedis须要加入jedis的maven依赖: <dependency> <groupId>redis.clients< ...
- View 视图动画基础
- IOS 获取 文件(UIImage) 创建时间
Image 在手机里 如果是手机拍的那么能使用ALAssetsLibrary获取一系列 图片的信息 颜色.GPS.尺寸.创建日期等 使用ALAssetsLibrary导入框架AssetsLibrary ...
- 山东省第四届ACM程序设计竞赛A题:Rescue The Princess(数学+计算几何)
Rescue The Princess Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 412 Solved: 168[Submit][Status][ ...
- Warning: Cannot send session cookie – headers already sent…
相信大多数人在写PHP代码的时候,都遇到过类似 "Warning: Cannot send session cookie – headers already sent…“或者”Cannot ...
- (5)表单Action后台验证
/day31/src/cn/itcast/web/struts2/user/UserAction.java package cn.itcast.web.struts2.user; import com ...