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

时间:2013-07-12 20:40:54

标签: ruby bash date

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

ruby file.rb YYYY-MM-DD YYYY_MM_DD

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

我该怎么做?

2 个答案:

答案 0 :(得分:3)

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

请注意,这只适用于bash。如果你使用反引号而不是$(),其他类似Bourne的shell将会起作用。

答案 1 :(得分:2)

请参阅“YYYY-MM-DD format date in shell script”以了解如何以您想要的任何格式获取日期。

昨天的日期可以找到:

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

来自“How To Get Yesterday’s Date using BASH Shell Scripting”。

/替换为-_,然后将其传递给Ruby语句。

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