首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本中的引号会导致“未终止的引号”。

脚本中的引号会导致“未终止的引号”。
EN

Stack Overflow用户
提问于 2022-07-28 11:55:28
回答 1查看 34关注 0票数 1

我试图使用Composer脚本和引号将一个环境变量传递给将与Docker一起运行的命令。

我使用sh -c 'A=b [command]'来运行带有环境变量的命令。

下面是一个很小的例子:

代码语言:javascript
复制
{
  "scripts": {
    "docker-run": "docker run --tty composer:2",
    "docker-version": "@docker-run composer --version",
    "docker-version2": "@docker-run sh -c 'CONSTANT=6.2.x-dev composer --version'"
  }
}

当我运行它时,脚本docker-version按预期工作:

代码语言:javascript
复制
$ composer run-script docker-version
> docker run --tty composer:2 'composer' '--version'
Composer version 2.3.10 2022-07-13 15:48:23

但是脚本docker-version2失败了。简单的引号是转义的,它破坏了命令:

代码语言:javascript
复制
$ composer run-script docker-version2
> docker run --tty composer:2 'sh' '-c' ''\''CONSTANT=6.2.x-dev' 'composer' '--version'\'''
composer: line 0: syntax error: unterminated quoted string
Script docker run --tty composer:2 handling the docker-run event returned with error code 2
Script @docker-run sh -c 'CONSTANT=6.2.x-dev composer --version' was called via docker-version2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 13:07:25

可以使用env命令设置环境变量。

代码语言:javascript
复制
docker-run env CONSTANT=6.2.x-dev composer --version
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73152495

复制
相关文章

相似问题

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