Rav*_*ash 2 macos cron operating-system system environment-variables
我有一个要导出的 cron 作业环境变量。
export CRON="30 * * * * *"
Run Code Online (Sandbox Code Playgroud)
问题是 *(星号)带来该文件夹中的所有文件名。最终出现错误。要快速尝试并了解问题,请执行以下操作。
export TEST="30 *"echo $TEST这里输出不会
30 *
它是
30
and all your files in that folder.
PS:- 这个环境变量正在被一个应用程序读取,需要在某些函数中使用它。前任 :-
cron.schedule(CRON, function(){// some code handling})
Run Code Online (Sandbox Code Playgroud)
您的导出命令没问题,不会导致星号被扩展。问题是你的echo $TEST. POSIX shell 的规则导致 的扩展$TEST发生在 glob 扩展之前。所以你正在做的实际上是这样的:
echo 30 *
Run Code Online (Sandbox Code Playgroud)
如果您引用扩展来抑制 glob 扩展,您将看到您所期望的:
echo "$TEST"
Run Code Online (Sandbox Code Playgroud)
你的问题是一个很好的例子,为什么 POSIX 1003 shell 行为很糟糕。许多新的、创新的贝壳,如鱼和精灵,都没有实现这种行为。
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |