将日期传递给ruby函数作为BASH中的STDIN

Passing a date to a ruby function as STDIN in BASH

我有一个Ruby文件,通常在命令行中运行,如下所示:

1
ruby file.rb YYYY-MM-DD YYYY_MM_DD

我想写一个bash脚本来运行这个文件,其中YYYY-MM-DD都是昨天日期的字符串。

我该怎么做?


1
ruby file.rb $(date -d yesterday +'%Y-%m-%d') $(date -d yesterday +'%Y_%m_%d')

注意,这只在bash中有效。如果你使用反勾号而不是$(),其他类似Bourne的外壳也会起作用。


请参阅"shell脚本中的YYYY-MM-DD格式日期",了解如何以您想要的任何格式获取日期。

昨天的日期可以是:

1
date -d '1 day ago' +'%Y/%m/%d'

从"如何使用bash shell脚本获取昨天的日期"。

-_替换/,然后将它们传入ruby语句。

编辑:投票给另一个人。他们的答案实际上有代码。