Shell 我如何在Zsh下获得两个日期之间的差异?
任何人都知道如何将此命令从bash转换为zsh命令虽然bash和zsh非常不同,但它们非常相似,因此在您的情况下,相同的命令适用于这两个命令:Shell 我如何在Zsh下获得两个日期之间的差异?,shell,date,command,zsh,difference,Shell,Date,Command,Zsh,Difference,任何人都知道如何将此命令从bash转换为zsh命令虽然bash和zsh非常不同,但它们非常相似,因此在您的情况下,相同的命令适用于这两个命令: ((DIFF=($(date +%s -d 20120203)-$(date +%s -d 20120115))/86400)) 假设您需要多次这样做,我将为此创建一个可重用的函数 将其放入名为持续时间(以天为单位)的文件中: 自动加载-Uz日历 本地起始端 日历_scandate$1 开始=$REPLY 日历_scandate$2 end=$REPL
((DIFF=($(date +%s -d 20120203)-$(date +%s -d 20120115))/86400))
假设您需要多次这样做,我将为此创建一个可重用的函数
持续时间(以天为单位)
的文件中:
自动加载-Uz日历
本地起始端
日历_scandate$1
开始=$REPLY
日历_scandate$2
end=$REPLY
打印$((结束-开始)/(24*60*60)))
.zshrc
文件中,自动加载功能。例如,如果将函数文件保存在目录~/functions
:
#自动加载~/functions目录中的所有函数。
自动加载-Uz~/functions/*~*.zwc
#排除.zwc文件(编译函数时生成)。
%持续时间(以天为单位)2012-01-15 2012-02-03
19
%
如果要在可执行脚本中使用此函数,请记住在脚本中自动加载它。发布的bash命令无效,您可以看到,如果只是将发布的内容复制并粘贴到bash shell中。你真的在问如何将一个错误的bash命令转换成一个错误的zsh命令吗?这是和以前一样的错误命令。它给了我一个bash:let:DIFF=(日期+%s-d 20120203日期+%s-d 20120115)/86400:语法错误:应为操作数(错误标记为“%s-d 20120203日期+%s-d 20120115)/86400)。请上传一个屏幕截图,这样我们就可以看到这个命令在你的bash中的作用。你链接到的命令与你发布的命令不同……这是因为那些包含日期的符号