我必须报告上次使用 AWS 密钥的时间。我正在为这个脚本使用 bash。如果未使用密钥,则值为“null”,我必须考虑这一点。
当我尝试使用 date 命令时,出现以下错误:
date: invalid date ‘"2018-07-13T14:49:00Z"’
date: invalid date ‘null’
这是我的代码,我试图用来打印这些值:
if [[ "$key1_last_used" = 'null' ]]; then
key1_last_used="key was never used."
else
key1_last_used=$(date --date $key1_last_used_date "+%B %d %Y")
fi
如果我使用此命令确定密钥的年龄:
aws iam get-access-key-last-used --access-key-id AKIAISEHPFM2DRIMIXXQ --profile=nonprod | jq '.AccessKeyLastUsed.LastUsedDate'
并得到这个回复:
"2018-07-13T14:57:00Z"
然后代码运行此日期命令:
date --date '"2018-07-13T15:01:00Z"' '+%B %d %Y'
并产生这个结果:
date: invalid date ‘"2018-07-13T15:01:00Z"’
如果我遇到一个未使用的密钥:
aws iam get-access-key-last-used --access-key-id AKIAIDZ7X4JCS5ANNXGQ --profile=nonprod | jq '.AccessKeyLastUsed.LastUsedDate'
我得到这个回复:
null
运行 date 命令时,null 被视为无效输入:
date --date null '+%B %d %Y'
date: invalid date ‘null’
我不知道为什么日期打印不正确。这些额外的报价来自哪里?而且我不知道为什么 if /then 无法识别空输出。