Имам рубинен файл, който обикновено бих изпълнявал в командния ред, както следва:
ruby file.rb YYYY-MM-DD YYYY_MM_DD
Искам да напиша bash скрипт, за да изпълни този файл, където и двете YYYY-MM-DD
са низове за вчерашната дата.
Как да направя това?
Отговори:
3 за отговор № 1ruby file.rb $(date -d yesterday +"%Y-%m-%d") $(date -d yesterday +"%Y_%m_%d")
Имайте предвид, че това ще работи само в bash. Други подобни на Bourne черупки ще работят, ако използвате backticks вместо $()
.
2 за отговор № 2
Вижте "Датата на формата YYYY-MM-DD в скрипта"за да разберете как да получите датата в какъвто и да е формат, който искате.
Вчерашната дата може да бъде намерена като:
date -d "1 day ago" +"%Y/%m/%d"
отКак да получите вчерашната дата с помощта на BASH Shell Scripting".
Заменете /
с -
или _
и след това ги препратете към изявлението на Ruby.
Редактиране: Гласувайте за другия. Техният отговор всъщност има код.