环境变量作为命令行参数

时间:2019-08-11 03:47:42

标签: clion

是否可以将环境变量作为参数传递给可执行文件? 我尝试了此操作,但我的应用程序中得到的是字符串"job_$JOB_ID"而不是"job_123"

enter image description here

另一个可以解决我问题的问题: 有没有办法以文本文件形式访问此配置对话框参数?这样我就可以在文本编辑器而不是CLion UI中编辑Program参数。这些配置必须存储在CLion应用程序文件夹中的某个位置

1 个答案:

答案 0 :(得分:1)

如果要传递运行配置中定义的environment变量,则不可能。

如果要在文件中编辑配置。然后通常将其存储在.idea/workspace.xml中。这具有所有运行配置和所有内容。

我没有clion,但有PyCharm,来自它的任何样本都是

...
...
    <configuration name="scrape2" type="PythonConfigurationType" factoryName="Python" temporary="true">
      <module name="scripts" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/deprecated" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/deprecated/scrape2.py" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <option name="EMULATE_TERMINAL" value="false" />
      <option name="MODULE_MODE" value="false" />
      <option name="REDIRECT_INPUT" value="false" />
      <option name="INPUT_FILE" value="" />
      <method v="2" />
    </configuration>
...

您可以看到environment变量是在envs内部定义的。

您可以使用${ENVNAME}传递外部定义的环境变量。参见下面关于SO的线程

How to pass an environment variable as a command line parameter in Run/Debug configuration in PyCharm?