2007-1-16 12:55
pangyi
请问如何在PS1上实现实时时间显示呢?
我试过在/etc/profile中加入了
time=$(date +'%H:%M:%S')
export PS1='$time $LOGNAME:[$PWD}#'
这样PWD还是能显示当前目录,但是不能实时显示时间,只能显示登陆系统的那一刻的时间,就是时间不会变化。
请问怎么样才能实现在命令提示符上实现实时的时间显示呢?就像思科的路由器那样!谢谢!!
2007-1-16 14:06
老农
你这样显示的是变量赋值的时候的值。
2007-1-16 14:07
老农
export PS1='$(date +'%H:%M:%S') $LOGNAME:[$PWD}#'
2007-1-16 14:37
yurual
结合
,[url]http://bbs.loveunix.net/viewthread.php?tid=69058&extra=page%3D3[/url]
来看
2007-1-16 15:56
beginner-bj
这个问题比较难。
2007-1-16 16:07
joan8363
好象显示不了即时的时间?
2007-1-16 16:13
beginner-bj
不同的SHELL,解决的方法肯定不同。KSH上方法始终想不出来。
网上有帖子,不过一直打不开
[url]http://unix.ittoolbox.com/groups/technical-functional/shellscript-l/seeing-the-current-time-in-the-primary-prompt-ps1-1102564[/url]
2007-1-16 18:37
pangyi
为什么系统自定义的PWD就可以实时改变呢?
现在又没机器试了,等明天再试试。。。
2007-1-16 18:56
老农
PWD特殊。你看一下PWD的定义
2007-1-17 08:52
pangyi
export PS1='$(date +'%H:%M:%S') $LOGNAME:[$PWD}#'
农哥,这个还是不能实时显示呀~
2007-1-17 09:31
老农
恩,是不对。
不好办
2007-1-17 09:41
beginner-bj
我贴的网页上有答案。我已经实现了。
09:43:43 ewdbkjy:[/home/ewadmin]$cd /
09:43:56 ewdbkjy:[/]$date
Wed Jan 17 09:43:58 BEIST 2007
09:43:58 ewdbkjy:[/]$su -
root's Password:
09:44:04 ewdbkjy:[/]#pwd
/
09:44:06 ewdbkjy:[/]#cd /home
09:44:10 ewdbkjy:[/home]#date
Wed Jan 17 09:44:15 BEIST 2007
09:44:15 ewdbkjy:[/home]#
2007-1-17 09:56
老农
好不容易打开了,呵呵,人家写的就是好啊:
Copy your code to .profile file. and logouut and login again.
[quote]### Code Begin Here
# Include time in prompt.
export SECONDS="$(date '+3600*%H+60*%M+%S')"
typeset -Z2 _h; typeset -Z2 _m ; typeset -Z2 _s # 2 digits, zero padded
# hours, minutes and seconds...
_hh="(SECONDS/3600)%24"
_mm="(SECONDS/60)%60"
_ss="(SECONDS)%60"
_time='${_x[(_m=_mm)(_h=_hh)(_s=_ss)]}$_h:$_m:$_s'
export PS1=$(echo "${_time} ${PS1}")
### Code End Here[/quote]
2007-1-17 10:52
pangyi
我还是打不开那个网址。
不过先收藏了这个脚本先。
一会儿再试!!
2007-1-17 10:55
lj_cd
太强了,学习中
2007-1-17 10:57
lj_cd
我试过了,为什么没有实现呢?
2007-1-17 11:08
lj_cd
其实可以使用另外一种思路,定一个脚本在后台运行,不断的更新PS1的值来实现。我试好了发上来哈
2007-1-17 11:26
老农
你试得不对吧?
我用过了啊
仔细看看
2007-1-17 13:08
beginner-bj
[quote]原帖由 [i]lj_cd[/i] 于 2007-1-17 11:08 发表
其实可以使用另外一种思路,定一个脚本在后台运行,不断的更新PS1的值来实现。我试好了发上来哈 [/quote]
拭目以待
2007-1-17 16:37
busyfan
暂时没有测试环境,不过我想这种思路也是可以的吧,就是用awk来取date的第四段:
export time1="$(date | awk '{ print $4 }')"
export PS1=$(echo "${tme1}")
有测试环境的兄弟帮忙测一下,顺便修正一下里面的语法错误:$
要是这样能实现的话,好象更简单一些噢,呵呵
2007-1-17 17:09
老农
LS的不行,因为做不到实时更新
2007-1-17 19:03
yddll
[quote]原帖由 [i]lj_cd[/i] 于 2007-1-17 10:57 发表
我试过了,为什么没有实现呢? [/quote]
表情符号忘记复制了吧
2007-1-19 19:18
beginner-bj
[quote]原帖由 [i]lj_cd[/i] 于 2007-1-17 11:08 发表
其实可以使用另外一种思路,定一个脚本在后台运行,不断的更新PS1的值来实现。我试好了发上来哈 [/quote]
好几天了哦
2007-1-19 21:09
果勒敏珊延
PS1="\`date +%H:%M:%S\`# " 成不?
`不是单引号,是数字1左边那个。
页:
[1]
2
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.