time=$(date "+%Y%m%d-%H%M%S")

or

time=$(date "+%Y-%m-%d %H:%M:%S")

......等各种自己想要的格式

echo "${time}"

上面两行简单的代码就是shell获取当前时间并按照自己想要的格式输出。

需要注意几点

date后面有一个空格,否则无法识别命令,shell对空格还是很严格的。
Y显示4位年份,如:2018;y显示2位年份,如:18。m表示月份;M表示分钟。d表示天,而D则表示当前日期,如:1/18/18(也就是2018.1.18)。H表示小时,而h显示月份(有点懵逼)。s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。
--------------------- 
作者:chenopodium