将 shell 变量的值更改为 npm 运行 命令的参数
Change value of shell variables as an argument of npm run command
我正在尝试完成以下任务 -> 现在我使用 cypress 进行 运行 e2e 测试。它由 npm 命令启动。我有几个环境和不同的用户权限。我创建了一个 shell 脚本,其中存储了环境值和用户权限。我想做的是有机会使用参数 运行 npm 命令来更改 shell 脚本中变量的值。有人可以提供线索,甚至有可能吗?预期的行为是编写如下内容:
npm run cy dev3,full
并有机会更改 shell 脚本变量的值以启动必要的环境并更改用户权限的值。
package.json 命令:
"scripts": {
"cy": "./scripts/cypress.sh",
}
cypress.sh 文件内容
#!/usr/bin/env bash
DEV_ENV="${DEV_ENV:-"dev3"}"
USER_TYPE="${USER_TYPE:-"full"}"
COMMAND="cypress open \
--browser chrome \
--config baseUrl=https://environment-$DEV_ENV.com \
--env DEV_ENV=https://environment-$DEV_ENV.com,USER_TYPE=$USER_TYPE
"
eval $COMMAND
您是否要更改 cypress.sh
中看到的环境变量?如果是这样,您可以像这样执行 npm run
:
DEV_ENV=dev2 USER_TYPE=empty npm run cy
它会改变DEV_ENV
和USER_TYPE
的值。
如果您想使用您提供的格式 (npm run cy dev3,full
) 严格地 运行 它,args dev3,full
将传递给 cypress.sh
,因此您可以直接在 cypress.sh
:
中解析参数
if [ ! -z "" ]; then
# do whatever here...
fi
我正在尝试完成以下任务 -> 现在我使用 cypress 进行 运行 e2e 测试。它由 npm 命令启动。我有几个环境和不同的用户权限。我创建了一个 shell 脚本,其中存储了环境值和用户权限。我想做的是有机会使用参数 运行 npm 命令来更改 shell 脚本中变量的值。有人可以提供线索,甚至有可能吗?预期的行为是编写如下内容:
npm run cy dev3,full
并有机会更改 shell 脚本变量的值以启动必要的环境并更改用户权限的值。
package.json 命令:
"scripts": {
"cy": "./scripts/cypress.sh",
}
cypress.sh 文件内容
#!/usr/bin/env bash
DEV_ENV="${DEV_ENV:-"dev3"}"
USER_TYPE="${USER_TYPE:-"full"}"
COMMAND="cypress open \
--browser chrome \
--config baseUrl=https://environment-$DEV_ENV.com \
--env DEV_ENV=https://environment-$DEV_ENV.com,USER_TYPE=$USER_TYPE
"
eval $COMMAND
您是否要更改 cypress.sh
中看到的环境变量?如果是这样,您可以像这样执行 npm run
:
DEV_ENV=dev2 USER_TYPE=empty npm run cy
它会改变DEV_ENV
和USER_TYPE
的值。
如果您想使用您提供的格式 (npm run cy dev3,full
) 严格地 运行 它,args dev3,full
将传递给 cypress.sh
,因此您可以直接在 cypress.sh
:
if [ ! -z "" ]; then
# do whatever here...
fi