gpt4 book ai didi

macos - 如何导出包含 *(星号)符号的变量?

转载 作者:行者123 更新时间:2023-12-02 03:33:57 25 4
gpt4 key购买 nike

我有一个要导出的 cron 作业环境变量。

    export CRON="30 * * * * *"

问题是 *(星号)带来了该文件夹中的所有文件名。最终出现错误。要快速尝试并了解问题,请执行以下操作。

  1. 打开终端(我使用的是 Mac)
  2. export TEST="30 *"
  3. echo $TEST
  4. 检查输出

这里不会输出

30 *

30 and all your files in that folder.

PS:- 这个环境变量正在被一个应用程序读取,需要在某些功能中使用它。例如:-

cron.schedule(CRON, function(){// some code handling})

最佳答案

您的导出命令没问题,不会导致星号展开。问题是您的 echo $TEST。 POSIX shell 的规则导致 $TEST 的扩展发生在 glob 扩展之前。所以你所做的实际上是这样的:

echo 30 *

如果您引用扩展来抑制 glob 扩展,您将看到您所期望的:

echo "$TEST"

您的问题很好地说明了为什么 POSIX 1003 shell 行为很糟糕。许多新的、创新的贝壳,如鱼和 Sprite ,都没有实现这种行为。

关于macos - 如何导出包含 *(星号)符号的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50959868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com