bash - bash 脚本的 Linux 环境变量
问题描述
我正在尝试创建一些 bash 脚本来导出过去 24 小时内创建的新电子邮件帐户。它使用 GAM(谷歌应用程序管理器)来获取过去 24 小时内创建的帐户,并过滤帐户创建时间。为此,我想创建一个环境变量,它的今天日期格式与 G Suite 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 还很陌生,因此我们将不胜感激。
解决方案
推荐阅读
- python - “手动”分配训练和测试数据
- python - Python:fib 函数中的 for 循环对我来说没有意义
- r - R中的滞后函数可以在不循环的情况下重复使用R中的计算值吗?
- mongodb - 如何在聚合中为项目中的每个文档添加唯一字段?
- python - Nginx + UWSGI + Flask 504 网关超时错误
- javascript - 在wordpress中放置javascript函数的位置
- mysql - 如何在 sql 中将 WHERE 与不同的表一起使用?
- io - 在 OCaml in_channel 上寻找 peek_byte
- go - goroutine 共享变量展示
- javascript - React - 如何在没有 jquery 或 innerHTML 的情况下将每个文本字母包装在跨度中