2013-12-10 47 views
24

我想將變量date-today設置爲當前日期,將date_dir設置爲昨天的日期,格式爲yyyy-mm-dd如何在linux中設置變量爲當前日期和日期-1?

我這樣做:

#!/bin/bash 
d=`date +%y%m%d%H%M%S` 
echo $d 
+1

我很困惑如何設法卡住了你所做的確切點。您設法使用指定的格式檢索日期 - 但不是您想要的格式。你設法將輸出保存到一個變量 - 但不是你想要的變量。你是如何設法在「我正在做這件事」的情況下編寫代碼的,以及你怎麼不能做一些額外的工作來調整你需要的東西? – ruakh

+0

@ruakh:實際上它並沒有貶低$ d變量,這就是爲什麼,我對這個bash腳本非常新穎。 –

+0

你發佈的腳本*會打印'$ d'。是什麼讓你說它不? – ruakh

回答

45

你可以試試:

#!/bin/bash 
d=$(date +%Y-%m-%d) 
echo "$d" 

編輯:改變y以Y表示4位數的日期爲每QuantumFool的評論。

+0

實際上,如果年份應該顯示爲四個字符長度(即2016),則應使用%Y代替%y(這將在20截止時返回16) – QuantumFool

1

你應該man date第一

date +%Y-%m-%d 
date +%Y-%m-%d -d yesterday 
+0

我想將它設置爲一個變量如何做到這一點。我正在創建一個bash腳本 –

+0

我還想告訴你,它正在選擇日期+%Y-%m-%d'2013-12-09'日期+%Y-%m-%d -d昨天正在挑選'2013-12-09' –

2

簡單:

today="$(date '+%Y-%m-%d')" 
yesterday="$(date -d yesterday '+%Y-%m-%d')" 
2

您還可以使用更短的格式

從手冊頁:

%F  full date; same as %Y-%m-%d 

例子:

#!/bin/bash 
date_today=$(date +%F) 
date_dir=$(date +%F -d yesterday) 
相關問題