bash脚本的Linux环境变量

bash脚本的Linux环境变量,bash,cron,environment-variables,Bash,Cron,Environment Variables,我正在尝试创建一些bash脚本来导出过去24小时内创建的新电子邮件帐户。它使用GAM(谷歌应用程序管理器)获取过去24小时内创建的账户,并对账户创建时间进行筛选。为了实现这一点,我想创建一个环境变量,该变量将今天的日期格式化为G套件API格式化的方式。我创建日期变量的脚本(date.sh)如下所示 #!/bin/bash export todayDate=$(date +'%Y-%m-%dT%H:%M:%S.000Z') echo $todayDate 我希望它在午夜后运行,并使用cron作业

我正在尝试创建一些bash脚本来导出过去24小时内创建的新电子邮件帐户。它使用GAM(谷歌应用程序管理器)获取过去24小时内创建的账户,并对账户创建时间进行筛选。为了实现这一点,我想创建一个环境变量,该变量将今天的日期格式化为G套件API格式化的方式。我创建日期变量的脚本(date.sh)如下所示

#!/bin/bash
export todayDate=$(date +'%Y-%m-%dT%H:%M:%S.000Z')
echo $todayDate
我希望它在午夜后运行,并使用cron作业设置一天的日期。这似乎奏效了。我遇到的问题是,当我运行下一个脚本时

#!/bin/bash
source /home/user/date.sh
export GAM_CSV_ROW_FILTER="creationTime:time>=$todayDate"
/home/user/bin/gam/gam print users query orgunitpath="'/Staff Accounts'" externalid organization firstname lastname phone creationtime > /home/user/accounts.csv

它似乎将变量重置为第二个脚本运行的时间。例如,如果我让cron在00:00:00运行第一个脚本,在06:00:00运行第二个脚本,那么变量在第二个脚本运行时似乎是06:00:00,而不是我希望的00:00:00

也许我已经把它复杂化了,理想情况下,我只需要让它导出变量,而不必使用

source /home/user/date.sh
但我似乎无法找到将变量传递给bash的方法,因为脚本是一个子流程


希望这是有意义的,我对bash脚本和Linux还比较陌生,因此非常感谢您的帮助。

似乎您需要
date+'%Y-%m-%dT00:00:00.000Z'
而变量“reset”的原因是源代码没有更改,并且(进程替换)扩展发生在第二个进程中,简单的更改似乎可以解决它,真不敢相信我没有想到设置所有0。谢谢