楼主:
LIAR (玻璃做的大叔)
2017-04-10 00:52:08之前有请教过如何修改命令提示字符。后来知道是PS1的参数,譬如我用
PS1='[\D{%M:%S} \e[1;34m\u\e[0m \e[1;45m$?\e[0m \e[1;32m\W\e[0m]\$ '
就会变成
[46:47 root 0 ~]#
这样,可以看看执行前后的时间差,还有error code之类的,算是个人兴趣。
我想请问的是,有办法让error code的表现根据数字不同而改变吗?
譬如说$?==0,就不要有背景,或是根本不显示。如果$?不等于0,就会高亮显示。
请问这能办到吗?
作者:
ckc1ark (伪物)
2017-04-10 01:00:00PROMPT_COMMAND可以试试
作者:
chababa (洽八八)
2017-04-10 12:26:00写个function在PS1内呼叫即可
作者:
hijkxyzuw (i,j,k) ×(x,y,z)
2017-04-10 20:54:00可以啊,像 PS1="`pwd` `date -I`"好像不行欸…,但我记得有人做过。
作者:
jmlntw (吉米林)
2017-04-10 21:17:00二楼正解,写成 function 呼叫就好。PS1="$(function_name)" 这样
作者:
hijkxyzuw (i,j,k) ×(x,y,z)
2017-04-10 21:48:00可是我像打 PS1="$(date)" 出来的日期不会更新
作者:
jmlntw (吉米林)
2017-04-10 22:06:00已经印在萤幕上的当然就不会更新了啦。
作者: losepacific (Losepacific) 2017-04-11 03:17:00
是不是要用单'而不是",比如说PS1='$(date)'
作者:
hijkxyzuw (i,j,k) ×(x,y,z)
2017-04-11 14:07:00楼上正确,用双引号会被立即求值。
作者:
ericj (lalala)
2017-04-11 20:33:00你要不要直接试oh-my-zsh...都帮你用好了...
`pwd`当然马可以 我自己写sh+python这样呼叫也可以
楼主:
LIAR (玻璃做的大叔)
2017-04-22 13:53:00function感觉好有趣,但是要写在哪里?
偷懒可以直接写在.bashrc里 或者另写一档在.bashrc里面用source读取
楼主:
LIAR (玻璃做的大叔)
2017-04-30 11:28:00我有写过C语言的function,但这个真的不晓得要怎么呼叫耶