shell脚本实现取当前时间

# 格式

# 输入格式

shell 实现获取当前时间,并进行格式转换的方法:

# 1)原格式输出

2018年 09月 30日 星期日 15:55:15 CST

time1=$(date)
echo $time1
1
2

# 2)时间串输出

20180930155515

#!bin/bash
time2=$(date "+%Y%m%d%H%M%S")
echo $time2
1
2
3

# 3)制定格式

2018-09-30 15:55:15

#!bin/bash
time3=$(date "+%Y-%m-%d %H:%M:%S")
echo $time3
1
2
3

2018.09.30

#!bin/bash
time4=$(date "+%Y.%m.%d")
echo $time4
1
2
3

# 格式解释

  • Y显示4位年份,如:2018;y显示2位年份,如:18。
  • m表示月份;M表示分钟。
  • d表示天;D则表示当前日期,如:1/18/18(也就是2018.1.18)。
  • H表示小时,而h显示月份。
  • s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。

# 注意事项

  1. date后面有一个空格,shell对空格要求严格;

  2. 变量赋值前后不要有空格;

    image-20200821092140001

# 案例

前端构建传递参数及时间后缀版本

#!/bin/bash
if [ $# -eq 0 ]  # 脚本必须传入参数。
then
    echo "Please invoke this script with one or more command-line arguments."
    exit $E_NO_ARGS
fi
datetime=$(date "+%Y%m%d%H%M%S")
envName=$1
echo "======代码库同步中==={$envName}===="
git pull
cd node
echo "======克隆{$envName}现场中===请检测版本号!!!===="
npm run clone env=$envName
cd ..
echo "======代码安装依赖中======"
npm install
echo "======dist_{$envName}生成中======"
npm run build env=$envName
echo "===great===dist_{$envName}压缩中======"
zip -rqo dist-$envName-${datetime}.zip dist/
echo "===great===dist-zip压缩打包完成======"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
上次更新: 2022/04/15, 05:41:32
×