shell脚本实现取当前时间
# 格式
# 输入格式
shell 实现获取当前时间,并进行格式转换的方法:
# 1)原格式输出
2018年 09月 30日 星期日 15:55:15 CST
time1=$(date)
echo $time1
1
2
2
# 2)时间串输出
20180930155515
#!bin/bash
time2=$(date "+%Y%m%d%H%M%S")
echo $time2
1
2
3
2
3
# 3)制定格式
2018-09-30 15:55:15
#!bin/bash
time3=$(date "+%Y-%m-%d %H:%M:%S")
echo $time3
1
2
3
2
3
2018.09.30
#!bin/bash
time4=$(date "+%Y.%m.%d")
echo $time4
1
2
3
2
3
# 格式解释
- Y显示4位年份,如:2018;y显示2位年份,如:18。
- m表示月份;M表示分钟。
- d表示天;D则表示当前日期,如:1/18/18(也就是2018.1.18)。
- H表示小时,而h显示月份。
- s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。
# 注意事项
date后面有一个空格,shell对空格要求严格;
变量赋值前后不要有空格;
# 案例
前端构建传递参数及时间后缀版本
#!/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
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