在emacs shell中运行的unix date util的问题

时间:2010-11-30 12:47:37

标签: bash shell emacs

这是一个奇怪的事。

在Windows Vista上的Cygwin bash上,我可以得到这样的日期:

$ date
2010-11-30  4:40:48 AM PST

xah@xah-PC ~
$ date +%s
1291120855

但是在emacs“shell”中,运行相同的日期命令,我得到了这个:

c:\Users\xah\web\xahlee_org\comp>which date
which date
/usr/bin/date

c:\Users\xah\web\xahlee_org\comp>date
date
The current date is: 2010-11-30 
Enter the new date: (yy-mm-dd) 


c:\Users\xah\web\xahlee_org\comp>date +%s
date +%s
The system cannot accept the date entered.
Enter the new date: (yy-mm-dd) 

知道发生了什么事吗?

2 个答案:

答案 0 :(得分:5)

这是因为你的emacs shell实际上是一个Windows命令提示符shell,并且date命令被发送给它并失败。

看一下这个问题,找出如何配置emacs来代替使用Cygwin的bash shell:

How can I run Cygwin Bash Shell from within Emacs?

答案 1 :(得分:2)

您正在使用内置的cmd.exe日期,这绝不像POSIX日期(1)。您可以通过键入所需的日期命令的完整路径来解决此问题。