首页 > 解决方案 > Shell脚本:获取日期作为变量

问题描述

我正在尝试创建一个快速脚本,该脚本将从备份文件夹中获取文件。备份文件每天生成,文件名格式为:

备份-sql-YYYYMMDD.zip

我正在尝试使用以下方法获取文件名:

#!/bin/sh

VAR_1="backup-sql-"
VAR_2=date +%Y%m%d
VAR_3=$VAR_1$VAR_2

echo "$VAR_3"

但是输出是:

备份-sql-

当我运行时:

date +%Y%m%d

我明白了

20180704    

所以我不确定为什么会这样。请有人可以帮助我:)

标签: shell

解决方案


您应该使用反引号来捕获 date 命令的输出并将其分配给 shell 变量。

VAR2=`date "+%Y%m%d"`

如果您想确保将变量值传递给后续子进程,您可能希望将其导出为:

export VAR2=`date "+%Y%m%d"`

推荐阅读