Linux date的用法小解
#!/bin/bash
echo -e "i will use touch command to create 3 files"
read -p "input filename: " fileuser
filename=${fileuser:-"filename"}
date1=$(date --date='2 days ago' +%Y%m%d)
date2=$(date --date='1 days ago' +%Y%m%d)
date3=$(date +%Y%m%d)
file1=${filename}${date1}
file2=${filename}${date2}
file3=${filename}${date3}
touch "$file1"
touch "$file2"
touch "$file3"
ls
上面這個shell腳本是分別用2天前,1天前,和今天的日期以及用戶自己輸入的名字拼接在一起創建三個文件。
filename=${fileuser:-"filename"}這個用來判斷fileuser變量是否為空,若為空的話用filename來替代。
date --date='2 days ago' +%Y%m%d 這個表示顯示2天前的日期 就是2013年9月8日,顯示出來的就是20130908
如果想表示今天的日期,可以這樣date=$(date +%Y%m%d) ,另外如果想要2013-09-10這種表示形式,可以使用%F
即date2=$(date --date='1 days ago' +%F) 這個%F就等於%Y-%m-%d,這樣也可以的,但太繁瑣。
1 days ago也可以換成1 months ago或1 yeas ago
還需要注意的是後面的那個+是一定不能省略的。