首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复Powershell在文件中剥离双引号

如何修复Powershell在文件中剥离双引号
EN

Stack Overflow用户
提问于 2019-04-11 21:22:38
回答 2查看 309关注 0票数 0

我在Windows powershell中定义一个变量,如下所示

代码语言:javascript
复制
1.$LFILE=cat license.json
2.echo $LFILE
   {
    "source": "ABCD LTD",
    "clientId": "EAL",
    "details": "Lenses",
    "key": "acfghkjhadasldas"
   }

3.docker run --rm -d -p 3030:3030 -e LICENSE=$LFILE landoop/kafka-lenses-dev:latest

运行此命令后,当我查看docker容器中的许可证文件时,它删除了双引号。

当我从docker容器内部检查时,这是我所看到的。如果你在下面看到,引号被去掉了。

代码语言:javascript
复制
root@fast-data-dev / $ cat /var/run/lenses/license.conf
{
  source: ABCD LTD,
  clientId: EAL,
  details: Lenses,
  key: acfghkjhadasldas 
}

io.lenses.core.license.LicenseException: Can not read the license 
file:/var/run/lenses/license.conf

我尝试将$LFILE放在单引号和双引号中。我尝试将文件名直接放入docker命令中,如下所示。还是不走运。

代码语言:javascript
复制
docker run --rm -d -p 3030:3030 -e LICENSE="'$(cat license.json)'" landoop/kafka-lenses-dev:latest
EN

回答 2

Stack Overflow用户

发布于 2019-04-12 02:46:38

单独使用"cat“命令将返回一个Object[]。我猜docker在找一个字符串。要获取字符串,请使用以下方法之一。

代码语言:javascript
复制
$LFILE = Get-Content license.json -Raw

代码语言:javascript
复制
$LFILE = cat license.json -Raw

因为你运行的是Kafka,所以我查了一下许可配置。下面是他们说的话:

为了运行,Lenses需要一个许可证文件,可以从我们那里获得。收到许可证后,将其存储在一个文件(即license.file)中,并更新配置以指向它。确保配置值包含完整的文件路径。

代码语言:javascript
复制
# License file allowing connecting to up to N brokers
lenses.license.file="license.json"

根据您当前的docker命令,您正在尝试为许可证设置环境变量。您似乎需要在容器中放置一个文件,然后设置lenses.license.file="full/license/file/path/license.json“

看起来你需要像下面这样运行一些东西,但它只查找密钥,而不是整个文件。

代码语言:javascript
复制
docker run -p 3030:3030 -e EULA="CHECK_YOUR_EMAIL_FOR_KEY" \ --name=lenses-dev landoop/kafka-lenses-dev

Lenses Documentation v2.3

票数 0
EN

Stack Overflow用户

发布于 2019-04-23 21:38:07

我不熟悉Docker许可证的格式化需求,但如果您需要其中的双引号,为什么不在已有的内容中使用快捷键,并按照您需要的方式显式创建变量呢?

代码语言:javascript
复制
$LFILE = '{
    "source": "ABCD LTD",
    "clientId": "EAL",
    "details": "Lenses",
    "key": "acfghkjhadasldas"
   }'

-OR应该是-

代码语言:javascript
复制
$LFILE = '"source": "ABCD LTD",
    "clientId": "EAL",
    "details": "Lenses",
    "key": "acfghkjhadasldas"'

  • THEN -

代码语言:javascript
复制
## TEST AND ENSURE THE VARIABLE IS FORMATTED CORRECTLY ##
$LFILE

## NOW ADD IT TO YOUR COMMAND AND EXECUTE ##
docker run --rm -d -p 3030:3030 -e LICENSE=$LFILE landoop/kafka-lenses-dev:latest
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55633558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档