前言先简单介绍一下什么是提示?顾名思义,就是提示的意思。看似离我们很远,但其实只要是每一个接触过shell的童鞋都能看到,它就是我们输入命令时出现在我们面前的提示。提示字符串。举个例子:当然这个款式是可以修改的,这就涉及到我们的PS1和PS2了。有过经验或设定的童鞋估计不会陌生。没有童鞋摸过。参考链接学习:linuxPS1提示定义问题因为以上不是本次的主题,所以干脆略过。事实上,我们的提示不仅可以显示这些信息,还可以显示一些更“动态”的东西。先来看一个需求(简单):我们希望每次执行命令都看到当前时间,那么可以在~/.bash_profile中添加如下内容:exportPS1="$(date+"%Y-%m-%d%H:%M:%S")\$"如代码所示,我们应该可以在提示符上看到我们的时间。现在试一下:和我们猜的一样,提示变成了It'stimeforus,但是好像有问题。当我们执行下一条命令时,时间没有变化,还是40秒,即使我们多执行几次。难道PS1只能加载一次?但是这个原因很快就被否决了,因为当我们切换用户的时候,提示符的$会变成#,还有其他的例子(下面会列举)证明每次都会执行PS1。所以问题只能出在我们的写作上。考虑是否是硬编码命令,将date命令放入函数中看是否成功:修改~/.bash_profile文件如下:echo_time(){date+"%Y-%m-%d%H:%M:%S"}exportPS1="$(echo_time)\$"失败,看来这种用法不能接受!查了很多文档,直到看到一篇文章说两边必须是单引号,才恍然大悟,开始明白为什么我的效果会失败了。这里可能有小朋友不知道linux中单引号和双引号的区别。简单来说,双引号:让大部分符号(如*),失去意义,成为普通字符。单引号:使所有符号失去意义,成为普通字符。举个简单的例子,echo"$a"可以得到变量a的值,但是echo'$a',它真的只能输出$a。具体可以参考
