这是一个简单的脚本,只是为了查看文件是否已下载。在此脚本中,find 命令的计算结果始终为零 - 即使它没有找到任何内容。所以我把它注释掉了。
on the filename="day_CTRwFEES_hoo01M_"
我必须在文件名末尾添加下划线。
使用下划线$filename_$yesterday.CSV
将两者分开是行不通的。 - 我必须去掉下划线,将其添加到文件名中,然后组合变量以使其像这样工作 -$filename$yesterday
.
我怎样才能让它工作而不在变量末尾添加下划线$filename
?
#!/bin/bash
set -x
dayofweek=$(/bin/date +%w)
today=$(/bin/date +%Y%m%d)
yesterday=$(/bin/date -d "1 day ago" +%Y%m%d)
friday_morning=$(/bin/date -d "3 days ago" +%Y%m%d)
filename="day_CTRwFEES_hoo01M_"
#if find /data/today/ -type f -name "$filename_$yesterday.CSV" ; then
if ls "/data/today/$filename$yesterday.CSV" ; then
echo "successful"
else
echo "$filename$yesterday.CSV was not downloaded, please check." | mail -s "$filename$yesterday.CSV not downloaded" casper@big_bank.com
fi
casper@good_host5981dap:~/walt/morning_checks$ ./check_day_CTRwFEES_hoo01M
++ /bin/date +%w
+ dayofweek=5
++ /bin/date +%Y%m%d
+ today=20141024
++ /bin/date -d '1 day ago' +%Y%m%d
+ yesterday=20141023
++ /bin/date -d '3 days ago' +%Y%m%d
+ friday_morning=20141021
+ filename=day_CTRwFEES_hoo01M_
+ ls data/today/day_CTRwFEES_hoo01M_20141023.CSV
/data/today/day_CTRwFEES_hoo01M_20141023.CSV
+ echo successful
successful
~
通过告诉 bash 变量名称结束的位置。
"${filename}_$yesterday.CSV"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)