相关疑难解决方法(0)

从密钥/对值文件中设置环境变量

TL; DR:如何将一组键/值对从文本文件导出到shell环境中?


为了记录,下面是问题的原始版本,带有示例.

我正在用bash编写一个脚本,用于解析某个文件夹中包含3个变量的文件,这是其中之一:

MINIENTREGA_FECHALIMITE="2011-03-31"
MINIENTREGA_FICHEROS="informe.txt programa.c"
MINIENTREGA_DESTINO="./destino/entrega-prac1"
Run Code Online (Sandbox Code Playgroud)

该文件存储在./conf/prac1中

我的脚本minientrega.sh然后使用以下代码解析文件:

cat ./conf/$1 | while read line; do
    export $line
done
Run Code Online (Sandbox Code Playgroud)

但是当我minientrega.sh prac1在命令行中执行时,它不会设置环境变量

我也试过使用,source ./conf/$1但同样的问题仍然适用

也许有其他方法可以做到这一点,我只需要使用我传递的文件的环境变量作为我的脚本的参数.

variables bash environment-variables

425
推荐指数
28
解决办法
31万
查看次数

如何在VSCode中向launch.json添加环境变量

在node.js项目上使用新的VSCode编辑器.我试图通过编辑launch.json文件来配置我的"启动"配置文件以进行调试.我需要将connectionstring设置为环境变量.根据launch.json文件中的注释:

// Environment variables passed to the program.
"env": { }
Run Code Online (Sandbox Code Playgroud)

我试过像这样添加我的环境变量:

"env":
{
"CONNECTION_STRING": "Data Source=server;Initial Catalog=catalog;User ID=uid;Password=pwd;MultipleActiveResultSets=true"
}
Run Code Online (Sandbox Code Playgroud)

当我尝试启动我的应用时,这会导致错误; "OpenDebug进程意外终止".我还没有找到任何可能解释问题的日志文件等.

我知道当我设置环境变量并从标准命令提示符启动我的应用程序时,此应用程序正常工作.如果我在launch.json文件中注释掉我的变量,应用程序也会按预期运行; 我只是无法连接到数据库.

我假设我在launch.json文件中使用了错误的格式,但我还没有找到任何方法来使这项工作.

有任何想法吗?

json node.js visual-studio-code

49
推荐指数
9
解决办法
4万
查看次数

39
推荐指数
5
解决办法
4万
查看次数

使用"preLaunchTasks"并在Visual Studio代码中命名任务

根据文档,可以在调试之前启动程序:

要在每个调试会话开始之前启动任务,请将其设置为tasks.json中指定的任务之一preLaunchTask名称.

我没有看到"命名"任务的示例语法,但架构文档显示了一个名为的属性taskName.我尝试使用它将我的launch.json链接preLaunchTasks到任务,但它没有用.当我启动我的程序时,Visual Studio Code报告了此错误:

无法找到一个独特的任务'launch-core'.确保该任务存在且它具有唯一的名称.

我的自定义"命名"任务看起来像这样:

{
    "taskName": "launch-core",
    "version": "0.1.0",
    "command": "C:\\utils\\mystuff.exe",
    // The command is a shell script
    "isShellCommand": true,
    // Show the output window only if unrecognized errors occur.
    "showOutput": "silent",
}
Run Code Online (Sandbox Code Playgroud)

然后我试图更改属性的名称taskName,只是name,基于此链接.这也行不通.

Intellisense没有提供如何命名任务的建议.

有人知道如何在tasks.json文件中唯一地命名任务吗?语法是什么?什么是物业名称?

最终我想在我自己的node.js应用程序启动之前执行两个或三个node.js进程.例如,我想在我的应用程序启动到调试器之前启动以下三个应用程序:

sh -c 'cd ./manager/ && node manager.js'
sh -c 'cd ./adapter/ && node adapter.js'
sh -c 'cd ./core/ && node core.js'
Run Code Online (Sandbox Code Playgroud)

如果我正在使用Windows机器,我的任务可能如下所示: …

node.js visual-studio-code

28
推荐指数
4
解决办法
3万
查看次数

如何在 vscode 中访问tasks.json 中的.env 变量?

我正在尝试tasks.jsonvscode.

在我的launch.json文件中,我有以下代码来解析 .env 文件:

"configurations": [
  {
    ...
    "envFile": "${workspaceFolder}/.env",
  }
]
Run Code Online (Sandbox Code Playgroud)

然后我在文件中包含tasks.json此任务:

{
  "label": "login",
  "command": "sh",
  "type": "shell",
  "args": [
    "${workspaceFolder}/etc/login.sh",
    "${env:USERNAME}",
    "${env:PASSWORD}"
  ]
}
Run Code Online (Sandbox Code Playgroud)

这似乎是https://code.visualstudio.com/docs/editor/tasks隐含的代码,但是(通过在另一个任务中回显进行测试)我发现最后两个args是空白的。经过在线研究后,我想我找到了原因,它们configurations..env是由它们tasks自己使用的,而不是由task.json运行访问的,因此无法访问。

我如何env variables在 中创建(使用)这些tasks.json

c# environment-variables visual-studio-code vscode-tasks

8
推荐指数
1
解决办法
5679
查看次数