日期:2014-05-16  浏览次数:20792 次

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

还需要注意的是后面的那个+是一定不能省略的。