Linux终端提示符(prompt)不如期生效的原因分析与解决

2019-01-16 23:28:53王旭

# 双引号: PS1="$(date +%F)" 取出来的结果就是: PS1="2017-07-24" # 单引号: PS1='$(date +%F)' 取出来的结果就是: PS1='$(date +%F)'

所以等到在终端输出时, 就会有不同的表现: 单引号, 每次输出, 都是执行那个函数, 而双引号, 因为已经是固定字符了, 所以每次都是那个值!

解决方案

找到了原因, 修改起来就得心应手了, 我们只需要将刚才的语法, 从双引号换成单引号即可.

修改~/.bash_profile

echo_time(){ date +"%Y-%m-%d %H:%M:%S" } export PS1='$(echo_time)$ '


可以看到这里已经是完美解决了我们的问题了~

PS: 附上一个小小的福利

需求:

如果长期在终端下开发, 而且又是gitlab的专用户的童鞋, 很多时候都会担心自己开发的代码分支会搞错, 或者不记得自己所处的分支是啥, 经常就会需要git branch来看下, 现在我们可以通过这个, 来解决我们这个难题~

修改~/.bash_profile

# 获取代码的分支 get_branch(){ BRANCH=`git branch 2>/dev/null |sed -n '/^*/s/^* //p'` if [[ -n $BRANCH ]] then echo " [*$BRANCH]" else echo '' fi } export PS1='[33[01;32m]u@h[33[00m]:[33[01;36m]W[33[00m][33[01;32m]$(get_branch)[33[00m] $ '

运行的效果:

可以看到, 当我进入一个代码目录时, 我的提示符就会展示出所处的分支~, 这功能虽小, 但我觉得还是挺有用的, 就跟git bash客户端类似, 希望大家喜欢!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对易采站长站的支持。

您可能感兴趣的文章:

linux系统终端修改字体的方法Linux Shell脚本系列教程(二):终端打印命令详解在Linux命令行终端中使用python的简单方法(推荐)在linux的终端退出python命令行的方法Linux终端命令行的常用快捷键详解linux下终端分屏使用的两种方法(screen和tmux)linux shell脚本学习录制与回放终端会话Python彩色化Linux的命令行终端界面的代码实例分享关于Linux操作系统下终端乱码的完美解决方法自制Linux终端锁屏工具怎样在Linux上录制你的终端操作及回放Linux终端常用快捷操作方式linux在终端输入密码时显示星号的实现方法详解Linux终端 MySQL常用操作指令Linux基础之终端、控制台、tty、pty简介说明