我需要像这样做:
- 设置一个带有默认值的Unix变量。
- 运行一个读取该变量并处理它的shell脚本。
- 在处理过程中,它可能会更改该变量的值,也可能不更改。
每小时运行此脚本,并确保该变量的值现在是上次运行此脚本设置的值。
我主要想知道如何设置和保留值。我尝试了以下方法,但没有成功。
export last_build="hello"
source .bashrc
然后在处理这个变量的脚本中
echo $last_build
export last_build="hello again"
echo $last_build
当我运行这个脚本时,我会得到类似以下的结果。
hello
hello again
当我第二次运行时,我期望输出结果为:
hello again
hello again
但它仍然会产生与第一次运行相同的输出。
cron
中运行脚本,还是在当前的交互式(登录)shell中运行?你可以将变量设置存储在一个文件中,并使用点号.
(或source
)命令来读取该文件。你也可以运行其他修改文件内容的脚本。你可以设置一个每小时运行的cron作业来更新该文件。每次运行需要环境变量的程序(脚本),你都可以让脚本读取那个文件。 - Jonathan Lefflerfor f in *; do printf -v "$f" %s "$(<"$f")"; done
),修改也很容易,保存也很容易。 - Charles Duffyexport
只会导出到 你自己的子进程。该命名空间不比此更全局或更持久。 - Charles Duffy