shell - 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
所以我不确定为什么会这样。请有人可以帮助我:)
解决方案
您应该使用反引号来捕获 date 命令的输出并将其分配给 shell 变量。
VAR2=`date "+%Y%m%d"`
如果您想确保将变量值传递给后续子进程,您可能希望将其导出为:
export VAR2=`date "+%Y%m%d"`