date命令不遵循Linux规范(Mac OS X Lion)

我一直在我的Linux机器上开发一个脚本已经有一段时间了,我也想在我的Mac上运行它。

我以为Mac上的function和linux上的function一样,但是今天我意识到这是错误的。 我知道Mac上存在的function较less,但我认为确实存在的function具有相同的实现。

这个问题是关于date命令的。

当我运行命令在我的Linux机器的参数提供一些时间在纳秒,我得到正确的结果,但是当我在我的Mac上运行它,它没有这个选项。

 Linux-Machine> date +%N 55555555555 #Current time in nanoseconds Mac-Machine> date +%N N 

我如何才能获得在Mac上作为bash命令纳秒的当前时间?

最糟糕的情况是我创build了一小段代码,用C调用一个系统函数,然后在我的脚本中调用它。

任何帮助深表感谢!

这是因为OSX和Linux使用两套不同的工具。 Linux使用date命令的GNU版本(因此,GNU / Linux)。 请记住,Linux是Linux,OS X是Unix。 他们不一样

您可以从MacPorts安装包含在“coreutils”软件包中的GNU date命令。 它将作为gdate安装在您的系统上。 你可以使用它,或者把date二进制文件和新的gdate二进制文件链接起来; 你的select。

man date表明它不会超过一秒钟。 我会build议尝试另一种语言:

 $ python -c'import time; print repr(time.time())' 1332334298.898616 

不要呻吟OS X,在BSD呻吟:-P