这是有问题的文件名OD_Orders_2019-02-19.csv
我正在尝试创建一个 bash 脚本来读入文件名中包含昨天日期的文件,同时保留其余的文件名。我希望用$y
公式输出来等于文件名,中间有确切的日期。到目前为止,这就是我所拥有的:
为了以正确的格式获取昨天的日期,我制作了 x:
x="date -d yesterday +%Y-%m-%d"
y="OD_Orders_$x.csv"
这个问题是当我做回声时的结果$y
给了我这个:
OD_Orders_date -d yesterday +%Y-%m-%d.csv
$x
我需要正确显示when的值echo $y
而不显示公式。我需要$y
以正确的格式输入带有昨天日期的文件名,因为我想稍后在此脚本中更多地使用它。
答案1
你需要使用命令替换 $( ... )
替换命令的输出而不是命令本身:
x="$(date -d yesterday +%Y-%m-%d)"
y="OD_Orders_${x}.csv"
当然可以简化为:
y="OD_Orders_$(date -d yesterday +%Y-%m-%d).csv"