1、PS1——默认提示符

如下所示,可以通过修改Linux下的默认提示符,使其更加实用。在下面的例子中,默认的PS1的值是“\s-\v\$”,显示出了shell的名称的版本。我们通过修改,可以使其显示用户名、主机名和当前工作目录。

-bash-3.2$ export PS1="\u@\h \w> " ramesh@dev-db ~> cd /etc/mail ramesh@dev-db /etc/mail>

[注: 提示符修改为 "username@hostname current-dir>的形式]

本例中PS1使用的一些代码如下:

o \u -- 用户名 o \h -- 主机名 o \w -- 当前目录的完整路径。请注意当你在主目录下的时候,如上面所示只会显示~

注意,在PS1值之后有一个空格。从个人角度来讲,使用这个空格可以增加一定的可读性。

将export PS1=”\u@\h \w>" 添加到.bash_profile 或者 .bashrc中,则可以保证其永久有效。

ramesh@dev-db ~> vi ~/.bash_profile ramesh@dev-db ~> vi ~/.bashrc

[注: 将命令添加到以上任何一个即可]

2、PS2——再谈提示符

一个非常长的命令可以通过在末尾加“\”使其分行显示。多行命令的默认提示符是“>”。 我们可以通过修改PS2 ,将提示符修改为"continue->" 。

ramesh@dev-db ~> myisamchk --silent --force --fast --update-state \ > --key_buffer_size=512M --sort_buffer_size=512M \ > --read_buffer_size=4M --write_buffer_size=4M \ > /var/lib/mysql/bugs/*.MYI[注: 这里使用 ">" 作为默认提示符]ramesh@dev-db ~> export PS2="continue-> " ramesh@dev-db ~> myisamchk --silent --force --fast --update-state \ continue-> --key_buffer_size=512M --sort_buffer_size=512M \ continue-> --read_buffer_size=4M --write_buffer_size=4M \ continue-> /var/lib/mysql/bugs/*.MYI[注: 与上面类似,用 "continue-> " 作提示符]

当用“\”使长命令分行显示,我发现非常易读。当然我也见过有的人不喜欢分行显示命令

3、PS3——Shell脚本中使用select时的提示符

你可以像下面示范的那样,用环境变量PS3定制shell脚本的select提示:

不使用PS3的脚本输出:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19ramesh@dev-db ~> cat ps3.sh

select i in mon tue wed exit

do

case $i in

mon) echo "Monday";;

tue) echo "Tuesday";;

wed) echo "Wednesday";;

exit) exit;;

esac

done

ramesh@dev-db ~> ./ps3.sh

1) mon

2) tue

3) wed

4) exit

#? 1

Monday

#? 4

[注: 缺省的提示符是 #?]

使用PS3的脚本输出:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20ramesh@dev-db ~> cat ps3.sh

PS3="Select a day (1-4): "

select i in mon tue wed exit

do

case $i in

mon) echo "Monday";;

tue) echo "Tuesday";;

wed) echo "Wednesday";;

exit) exit;;

esac

done

ramesh@dev-db ~> ./ps3.sh

1) mon

2) tue

3) wed

4) exit

Select a day (1-4): 1

Monday

Select a day (1-4): 4

[注: 设置了PS3变量后,命令提示符已经成为 "Select a day (1-4):"]

4、PS4——PS4-“set -x"用来修改跟踪输出的前缀

如果你像下面那样在调试模式下的脚本中,PS4环境变量可以定制提示信息:

没有设置PS4时的shell脚本输出:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15ramesh@dev-db ~> cat ps4.sh

set –x

echo "PS4 demo script"

ls -l /etc/ | wc –l du -sh ~

ramesh@dev-db ~> ./ps4.sh

++ echo 'PS4 demo script'

PS4 demo script

++ ls -l /etc/

++ wc –l

243

++ du -sh /home/ramesh

48K /home/ramesh

[注: 当使用sex -x跟踪输出时的提示符为 ++]

设置PS4后的脚本输出:

PS4在ps.sh中定义了下面两个变量

o $0 显示当前的脚本名 o $LINENO 显示的当前的行号1

2

3

4

5

6

7

8

9

10

11

12

13

14

15ramesh@dev-db ~> cat ps4.sh

export PS4='$0.$LINENO+ '

set -x

echo "PS4 demo script"

ls -l /etc/ | wc -l

du -sh ~

ramesh@dev-db ~> ./ps4.sh

../ps4.sh.3+ echo 'PS4 demo script'

PS4 demo script

../ps4.sh.4+ ls -l /etc/

../ps4.sh.4+ wc -l

243

../ps4.sh.5+ du -sh /home/ramesh

48K /home/ramesh

[注: 使用PS4后使 "{script-name}.{line-number}+" 成为set –x的命令提示符]

ps3运行linux,Linux下PS1、PS2、PS3、PS4使用详解相关推荐

  1. Linux系统下ifconfig和route配置网络详解

    Linux系统下ifconfig和route配置网络详解 ifconfig和route合用于配置网络(ip命令综合二者功能,此处不讲),通常在前者设置好ip地址等信息后,采用route命令配置路由.( ...

  2. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

  3. linux环境下blastn命令怎么用,Linux环境下通配符及特殊符号使用详解

    Linux环境下通配符及特殊符号使用详解 我们现在来介绍通配符的使用,通过通配符的过滤,快速找到想找的文件和目录,比如/etc/目录下有上千个目录和文件,不使用通配符想找一个目录和文件是非常麻烦的和花 ...

  4. Linux 下PS1 PS2 PS3 PS4 提示符详解

    很多人在用Linux时,对提示符都不太注重,能够利用好提示符可更直观地查看,利于自己的判断 Linux下有PS1 PS2 PS3 PS4 四类提示符,这四个变量都是环境变量,至于系统里有哪些环境变量, ...

  5. Linux/CentOS下安装Apache/SVN/Subversion图文详解教程

    Linux(CentOS)下安装Apache+Subversion(图文教程) 服务器版本和安装软件 服务器版本: RedHatCentOS 5.5 32 bit 安装软件: apr-1.3.5.ta ...

  6. Linux环境下使用NLPIR(ICTCLAS)中文分词详解

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 欢迎交流,禁止将本人博客直接复制下来,上传到百度文库等平台. NLPIR介绍 NLPIR是中科院出的一款汉语分词 ...

  7. 最全解释:Linux操作系统下的软件安装与管理详解(源码安装、rpm/dpkg、yum/apt-get安装)

      在linux上安装软件,安装方式和软件包获取的途径都远远比windows的丰富,那当然这就变得复杂很多,本文旨在理解linux下繁杂的软件安装.管理原理 ,学习软件的安装方式.源码包格式.远程软件 ...

  8. linux系统下添加新硬盘的方法详解

    对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...

  9. linux命令清理磁盘空间,linux环境下清理系统磁盘空间命令详解

    提示 1:清理残余的配置文件 一般而言,当我们从 Ubuntu 系统中删除了一个软件之后,该软件的残余配置文件并没有被删除.如果你确信以后不再使用该软件,那么保留其配置文件实在没有必要,所以我们大可一 ...

  10. 如何装双系统 win10 linux,Win10下安装CentOS 7双系统详解

    最近心血来潮,想学Linux,所以根据网上的建议,买了鸟哥的书.为了以后学习方便,准备安装CentOS7.准备好镜像文件和U盘后,4号晚上八点多开始施工,本以为几个小时就可以弄好的东西,第一次让我明白 ...

最新文章

  1. python学习第25天
  2. OCS2007标准版服务器部署
  3. Linux系统编程 -- 线程池操作
  4. 轻量化、松耦合的手持RGB-D室内环境实时重建系统
  5. Hystrix dashbord 服务降级熔断限流监控介绍
  6. 2021高考成绩查询大学城一中,“有梦就去追,做勇于逐梦的少年”——直击重庆市2021年普通高考...
  7. Date 当前程序日期格式 参数设置 DecimalSeparator
  8. 以字型为例,一维表示的二维数组矩阵,旋转90、-90
  9. android常用代码合集,Android开发常用经典代码段集锦
  10. 基于stm32单片机外文文献_基于STM32的智能家居系统设计毕业论文+任务书+开题报告+文献综述+外文翻译及原文+程序+原理图+参考资料+答辩PPT+仿真设计...
  11. OPPOA83_OPPOA83T_官方线刷包_救砖包_解账户锁
  12. 硬件设计论坛_从全球EDA产业发展看EDA365电子论坛作用
  13. 最新QQ搭建代挂系统2.0全新打包内带i优支付在线充值系统
  14. 设置下拉菜单的几种方法
  15. 转载:Python中to_csv函数输出的utf8数据用Excel打开是乱码
  16. 在计算机应用中用于描述算法的是,计算机应用基础习题
  17. 组织架构图,比较实用,收走
  18. 攻防世界 logmein wp
  19. 幸运大转盘php逻辑判断,jQuery幸运大转盘_jQuery+PHP抽奖程序(上)
  20. 球差透射电镜测试样品的优势有哪些?

热门文章

  1. 牛客网 考研真题 KY43 全排列
  2. The Wiley Handbook of Human Computer Interaction------“Acessibility”学习心得
  3. ie浏览器报错:不支持此类_浏览器趋势2013年7月:IE有史以来最差的月份吗?
  4. android pwm0 编译_PWM初始化,PWM0占空比设置函数
  5. Oracle的高水位线(High Water Mark)
  6. python画图x轴时间间隔_python画图把时间作为横坐标的方法
  7. 转 关于直流电机 H 桥驱动方案的选择
  8. java 版本管理知乎_TIOBE 9月编程语言排行榜发布,C++增速最快,C++20的功劳?
  9. 58同城 java招聘_社招|58同城Java社招面经分享
  10. HDU1003 Max Sum 最大子序列和的问题【四种算法分析+实现】