来源。从Ubuntu中的package.json脚本调用env命令时,该命令不起作用

来源。从Ubuntu中的package.json脚本调用env命令时,该命令不起作用,ubuntu,yarnpkg,Ubuntu,Yarnpkg,我的package.json中有以下脚本键/属性条目 "stop": "source .env && yarn doc:stop && lsof -t -i tcp:$EXPRESS_PORT | xargs kill 2> /dev/null && pgrep -f $(pwd) | xargs kill 2> /dev/null", 当我执行时它不工作 yarn stop 它抛出以下错误

我的package.json中有以下脚本键/属性条目

"stop": "source .env && yarn doc:stop && lsof -t -i tcp:$EXPRESS_PORT | xargs kill 2> /dev/null && pgrep -f $(pwd) | xargs kill 2> /dev/null",
当我执行时它不工作

yarn stop
它抛出以下错误

/bin/sh: 1: source: not found
但是我可以从Ubuntu命令终端直接调用execute,没有错误

source .env
我在使用时也会遇到同样的错误。(点)而不是源

/bin/sh: 1: .: .env: not found
我该怎么修理


谢谢

我认为有两种选择:

  • 在停止脚本定义时,使用bash:
  • “停止”:“bash-ac”LOCATION=“.”“source.env;echo$REACT\u APP\u env;unset IFS'&&…etc”

  • .env
    中添加导出,请参阅更多

  • 第三种也是最后一种选择是,您的文件不真实,您可以使用
    ls-la | grep.env

    进行验证。我认为有两种选择:

  • 在停止脚本定义时,使用bash:
  • “停止”:“bash-ac”LOCATION=“.”“source.env;echo$REACT\u APP\u env;unset IFS'&&…etc”

  • .env
    中添加导出,请参阅更多

  • 第三个也是最后一个选择是,您的文件不真实,您可以使用
    ls-la | grep.env

    来验证是否使用
    。env
    会起作用
    请参阅:

    似乎在使用
    。env
    会起作用
    请参阅:并且

    我确信该文件存在。我测试了你的选项1,但它不起作用。@JuanPabloFernandez我得到了,我有一个使用cat和cypress的例子,你能试试吗<代码>“cy:open”:“export$(cat.env|xargs)和&CYPRESS_CLIENT=${REACT_APP_KC_env}npx CYPRESS open”我得到了以下输出:运行v1.21.1$export$(cat.env|xargs)和&CYPRESS_CLIENT=${REACT_APP u KC_env}npx CYPRESS open xargs:不匹配的单引号;默认情况下,除非使用-0选项/bin/sh:1:export:#:错误变量名错误命令失败,退出代码为2,否则引号对xargs是专用的。有关此命令的文档,请访问info。我确信该文件存在。我测试了你的选项1,但它不起作用。@JuanPabloFernandez我得到了,我有一个使用cat和cypress的例子,你能试试吗<代码>“cy:open”:“export$(cat.env|xargs)和&CYPRESS_CLIENT=${REACT_APP_KC_env}npx CYPRESS open”我得到了以下输出:运行v1.21.1$export$(cat.env|xargs)和&CYPRESS_CLIENT=${REACT_APP u KC_env}npx CYPRESS open xargs:不匹配的单引号;默认情况下,除非使用-0选项/bin/sh:1:export:#:错误变量名错误命令失败,退出代码为2,否则引号对xargs是专用的。有关此命令的文档,请访问info。