如何在 crontab 中设置环境变量?
在正常情况下,我们使用 **bash_profile** 或 Ubuntu 中的 **bashrc** 以及 Mac OS 中的 **zshrc** 来设置环境变量,然后这些变量在我们想要使用的任何终端中都可用。
让我们考虑一个简单的例子,其中我们在 **bash_profile** 中有一些环境变量,并在终端中使用它。
考虑下面显示的 **bash_profile** 输出:
immukul@192 dir1 % cat ~/.bash_profile export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$PATH:/usr/local/node/bin export GOROOT=/usr/local/go export GOPATH=/Users/immukul/go_projects
我们可以看到 **bash_profile** 文件中存在许多变量,我们只需调用其名称即可在任何终端中使用这些变量。
考虑下面显示的示例:
echo $GOROOT
输出
/usr/local/go
现在我们想要能够访问 **bash_profile** 或 **bashrc** 中的这些变量,以便在 crontab 中可用。
让我们首先探索并了解 crontab 是什么。
**crontab** 不过是我们可以在 cron 作业期间运行的一系列命令。cron 作业是一个实用程序,用于在特定时间安排命令的自动执行。
我们可以使用 bash 脚本通过以下命令启动 cron 作业:
crontab -e
这将打开一个文件,您可以编辑该文件,在上述文件中插入 cron 作业 shell 脚本,然后关闭该文件。
只需在上述文件中插入下面显示的代码。
* * * * * sample.sh
上述命令包含 5 个 *,其中每个 * 表示时间,然后跟随星号。我们有要作为 cron 作业运行的脚本。在 **sample.sh** 中,我们需要编写以下命令才能使环境变量对其可用。
考虑下面显示的示例 **(sample.sh)**:
示例
#!/bin/bash -l
echo $PATH
for f in *.txt; do mv "$f" "${f// /_}"; done命令 **#!/bin/bash -l** 将允许您的 cron shell 脚本选择任何您想要的环境变量。
输出
sh-3.2# ./sample.sh /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Library/Apple/usr/bin
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP